net481/RubrikSecurityCloud.PowerShell.xml
<?xml version="1.0"?>
<doc> <assembly> <name>RubrikSecurityCloud.PowerShell</name> </assembly> <members> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Connect_Rsc"> <summary> Establishes a user session with Rubrik Security Cloud </summary> <description> The Connect-Rsc Cmdlet is used to connect to the Rubrik Security Cloud (RSC) API. RSC then returns a unique token to represent the user's credentials for subsequent calls. The token is stored securly in a .NET object within this PowerShell session. The recommended authentication method is a Rsc Service Account. Service Account credentials may be provided as parameters, or stored in an encrypted credential file, using Set-RscServiceAccountFile. Service Account .json files (unencryped) are not supported. </description> <example> Connect to Rubrik Security Cloud, using the URL, Client Id and Client Secret <code>Connect-Rsc -Server mycompany.my.rubrik.com -ClientId xxxxxxxxx -ClientSecret xxxxxxxxx</code> </example> <example> Connect to Rubrik Security Cloud, using a service account file, stored in the default RSC credential store in the user profile The service account file can be downloaded from the Rsc Web UI. <code> Set-RscServiceAccountFile -InputFilePath rubrik_service_account.json Connect-Rsc </code> </example> <example> Connect to Rubrik Security Cloud, using a service account file, stored in a location other than the default RSC credential store. The service account file can be downloaded from the Rsc Web UI. <code> Set-RscServiceAccountFile -InputFilePath rubrik_service_account.json -OutputFilePath rubrik_service_account.xml Connect-Rsc -ServiceAccountFile rubrik_service_account.xml </code> </example> <example> Connect to Rubrik Security Cloud, using a service account file, stored in a location held in the OS environment variable RSC_SERVICE_ACCOUNT_FILE The service account file can be downloaded from the Rsc Web UI. <code> Set-RscServiceAccountFile -InputFilePath rubrik_service_account.json -OutputFilePath $ENV:RSC_SERVICE_ACCOUNT_FILE Connect-Rsc -FromEnv </code> </example> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Connect_Rsc.IfNeeded"> <summary> Connect if there is no existing connection </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Connect_Rsc.FromEnv"> <summary> Use a service account, which path is stored in an environment variable </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Connect_Rsc.ServiceAccountFile"> <summary> Used to specify the service account file downloaded from Rubrik Security Cloud </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Connect_Rsc.Server"> <summary> FQDN or the Rubrik Security Cloud Instance. I.e. mycompany.my.rubrik.com This can also be found in the JSON file downloaded from RSC when creating the Service Account </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Connect_Rsc.ClientId"> <summary> The Service Account ClientId. This can be found as "client_id" in the JSON file downloaded from RSC when creating the Service Account </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Connect_Rsc.ClientSecret"> <summary> The Service Account ClientSecret in SecureString format. The ClientSecret can be found as "client_secret" in the JSON file downloaded from RSC when creating the Service Account Convert the JSON plain text field into a secure string with: $secret = $(Get-Content service_account_file.json | ConvertFrom-Json).client_secret | ConvertTo-SecureString -AsPlainText </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscCmdlet"> <summary> Return info about SDK cmdlets </summary> <description> Look up a GraphQL Operation and return info about the cmdlet that implements it. </description> <example> Retrieve the name of the cmdlet that implements the GraphQL query clusterConnection <code> PS> Get-RscCmdlet clusterConnection </code> </example> <example> Retrieve info for a GraphQL operation that is not implemented by a cmdlet. <code> PS> Get-RscCmdlet notImplementedOperation </code> </example> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscCmdlet.ExistingGqlRootFieldName"> <summary> The name of the GraphQL Operation to look up. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscCmdlet.AnyGqlRootFieldName"> <summary> The name of the GraphQL Operation to look up. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscCmdlet.Locations"> <summary> Info about the various locations the SDK uses </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFileset"> <summary> Retrieve one or more filsets managed by Rubrik Security Cloud (Rsc). </summary> <description> The Get-RscFileset cmdlet is used to get one or more filesets known to RSC. The -FilesetId parameter will return a single fileset. All other parameters will return a list of matching filesets. When -FilesetId is NOT specified, -HostId is required. -HostId can accept a value from the pipeline </description> <example> Get a list of all filesets on a specified host <code> Get-RscFileset -HostId xxxxx-xxxxx-xxxxx-xxxxx </code> </example> <example> Get a list of all filesets on a specified host, filtered by name <code> Get-RscFileset -HostId xxxxx-xxxxx-xxxxx-xxxxx -Name etc </code> </example> <example> Get a list of all filesets on a host, providing the host via the pipeline <code> Get-RscHost -OsType Linux -First 1 | Get-RscFileset </code> </example> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFileset.HostId"> <summary> The Id of the Physical Host to get filesets for </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFileset.Name"> <summary> Filter results by name </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFileset.First"> <summary> Return only the fist # of results </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFileset.SortBy"> <summary> Sort by field name </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFileset.SortOrder"> <summary> Sort Order </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFileset.FilesetId"> <summary> Get a fileset using its ID </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate"> <summary> Retrieve one or more filset templates managed by Rubrik Security Cloud (Rsc). </summary> <description> The Get-RscFileset cmdlet is used to get one or more fileset templates known to RSC. The -Id parameter will return a template. All other parameters will return a list of matching templates. Returns Windows and Linux fileset templates. </description> <example> Get a list of all Linux fileset templates. <code>Get-RscFilesetTemplate -OsType Linux </code> </example> <example> Get a list of Windows fileset templates, matching a name pattern. <code>Get-RscFilesetTemplate -OsType Windows -Name myWinTemplate</code> </example> <example> Get a template by Id, with default fields selected. <code>Get-RscFilesetTemplate -Id 76254be7-baa4-5145-a4b7-a7a7773ad97d</code> </example> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate.OsType"> <summary> Operating system type of fileset templates to return. Valid values are: "Windows" and "Linux". </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate.Name"> <summary> Filter results by name </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate.First"> <summary> Return only the fist # of results </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate.SortBy"> <summary> Sort by field name </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate.SortOrder"> <summary> Sort Order </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate.Id"> <summary> Get a physical host using its ID </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscFilesetTemplate.Field"> <summary> Activate selected fields based on not-null properties of the input fields object </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost"> <summary> Retrieve one or more physical hosts managed by Rubrik Security Cloud (Rsc). </summary> <description> The Get-RscHost cmdlet is used to get one or more physical hosts known to RSC. The -Id parameter will return a single host. All other parameters will return a list of matching hosts. </description> <example> Get a list of all Linux from the RSC instance. <code>Get-RscHost -OsType Linux </code> </example> <example> Get a list of Windows Hosts, matching a name pattern. <code>Get-RscHost -OsType Windows -Name myWindowsServer</code> </example> <example> Get a host by Id, with default fields selected. <code>Get-RscHost -Id 76254be7-baa4-5145-a4b7-a7a7773ad97d</code> </example> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.OsType"> <summary> Operating system type of hosts to return. Valid values are "Windows" and "Linux". </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.Name"> <summary> Filter results by name </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.First"> <summary> Return only the fist # of results </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.Relics"> <summary> Include only items that are relics </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.Replicated"> <summary> Include only items that are replicated </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.SortBy"> <summary> Sort by field name </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.SortOrder"> <summary> Sort Order </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.IsBulkPolicyAssignmentFlow"> <summary> Indicates whether request is bulk policy assignment flow. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.Id"> <summary> Get a physical host using its ID </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscHost.Field"> <summary> Activate selected fields based on not-null properties of the input fields object </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType"> <summary> Create a new .NET object from the RubrikSecurityCloud.Types namespace, with pre-selected fields. </summary> <description> With -Name, the cmdlet returns a new .NET object from the RubrikSecurityCloud.Types namespace (both output and input types), with pre-selected fields with -InitialProperties or -InitialValues. The -ListAvailable parameter will return a list of valid RubrikSecurityCloud.Types. </description> <example> Create a filter input object with "a" "b" for text filters. <code> PS C:\> Get-RscType -Name Filter -InitialValues @{"texts" = @("a", "b")} </code> </example> <example> Get a list of all available RSC .NET types <code> PS C:\> Get-RscType -ListAvailable </code> </example> <example> Get a list of available RSC .NET types filtered by name <code> PS C:\> Get-RscType -ListAvailable -FilterByName "accountsetting" </code> </example> <example> Get an empty object that is compliant with the Rsc Type specified by name <code> PS C:\> Get-RscType -Name "AccountSetting" </code> </example> <example> Get an empty object that is compliant with the Rsc Type specified by name. Initialize the 'IsEulaAccepted' property <code> PS C:\> Get-RscType -Name "AccountSetting" -InitialProperties @("IsEulaAccepted") </code> </example> <example> Get an empty object that is compliant with the Rsc Type specified by name. Initialize the 'IsEulaAccepted' property with a specific value. <code> PS C:\> Get-RscType -Name "AccountSetting" -InitialValues @{"IsEulaAccepted"= $false} </code> </example> <example> Get a list of all available Rsc .NET Interfaces <code> PS C:\> Get-RscType -ListAvailable -Interfaces </code> </example> <example> Get a list of all available Rsc .NET Interfaces filtered by name <code> PS C:\> Get-RscType -ListAvailable -Interfaces -FilterByName "mssql" </code> </example> <example> Get a list of all Rsc .NET types that implement the MssqlTopLevelDescendantType interface <code> PS C:\> Get-RscType -Interface MssqlTopLevelDescendantType </code> </example> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType.Name"> <summary> The name of the RubrikSecurityCloud.Types Type to return </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType.InitialProperties"> <summary> Specify an array of string containing the names of the properties to initialize. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType.InitialValues"> <summary> Specify a hashtable mapping the requested fields to their values. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType.ListAvailable"> <summary> Used to request a list of valid Rsc Type Names. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType.FilterByName"> <summary> Optional to filter results by name. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType.Interfaces"> <summary> Flag to specify if interfaces should be returned. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscType.Interface"> <summary> Used to request a list of types implementing a given interface. </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Get_RscVersion"> <summary> Returns the Rubrik Security Cloud Server version, as well a the Rubrik Security Cloud PowerShell SDK schema version. Ideally these values should match for maximum SDK compatibility. </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.Invoke_Rsc"> <summary> Send a query to the RSC API. </summary> <description> There are 2 usages of this cmdlet: 1) -Query : Send a query object (obtained from a `New-RscQuery*` cmdlet); or 2) -GqlQuery : Send a text GraphQL query. </description> <example> Send a query object. <code> # # Create a query object $q = New-RscQueryGetVsphereVmList -Name "my-vm" # Send it - by piping to Invoke-Rsc: $q | Invoke-Rsc # - Or - by calling Invoke() on the query object $q.Invoke() # The above 2 methods are equivalent. </code> </example> <example> Send a GraphQL query string. <code> # # Text GraphQL query string $gqlQuery = @' mutation DeleteWebhookMutation($id: Int!) { deleteWebhook(input: {id: $id}) } '@ # Invoke the query - as a parameter: Invoke-Rsc -GqlQuery $gqlQuery -Var @{id = 1} # - Or - by piping the query to Invoke-Rsc: $gqlQuery | Invoke-Rsc -Var @{id = 1} # The above 2 methods are equivalent. </code> </example> <example> Read the GraphQL query from a .gql file, and send it. <code> # # text GraphQL query file with variables in the header $gqlFile = "./Samples/queryAccountOwners.gql" $gqlQuery = Get-Content -Path $gqlFile -Raw # Invoke the query - by piping to Invoke-Rsc: $gqlQuery | Invoke-Rsc # - Or - by giving it as a parameter: Invoke-Rsc -GqlQuery $gqlQuery # The above 2 methods are equivalent. </code> </example> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Invoke_Rsc.Query"> <summary> The query object to send to the RSC API. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Invoke_Rsc.GqlQuery"> <summary> The text GraphQL query string to send to the RSC API. Variables can possibly be supplied in a header comment. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.Invoke_Rsc.Var"> <summary> The variables to supply to the GraphQL query. Only used when GqlQuery is set. </summary> </member> <member name="M:RubrikSecurityCloud.PowerShell.Cmdlets.Invoke_Rsc.ProcessRecord_Query"> <summary> Send a query object (obtained from a `New-RscQuery*` cmdlet). </summary> </member> <member name="M:RubrikSecurityCloud.PowerShell.Cmdlets.Invoke_Rsc.ProcessRecord_NativeGQL"> <summary> Send a raw GraphQL query to the RSC API. </summary> </member> <member name="M:RubrikSecurityCloud.PowerShell.Cmdlets.Invoke_Rsc.FetchAndCollatePages(RubrikSecurityCloud.RscQuery)"> <summary> Collate pages of results. </summary> </member> <member name="P:RubrikSecurityCloud.PowerShell.Cmdlets.New_GqlRootField.RootFieldKind"> <summary> The kind of root field this object is: a Query, a Mutation, or something unknown. </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutation"> <summary> Create a new RscMutation object. </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscQuery"> <summary> Create a new RscQuery object. </summary> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationAccount"> <summary> Create a new RscQuery object for any of the 14 operations in the 'Account' API domain: CreateOrg, CreateOrgSwitchSession, CreateRole, CreateUser, CreateUserWithPassword, DeleteOrg, DeleteRole, DeleteTotpConfig, DeleteTotpConfigs, DeleteUsers, GenerateTotpSecret, MutateRole, UpdateOrg, or UpdateRole. </summary> <description> New-RscMutationAccount creates a new mutation object for operations in the 'Account' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 14 operations in the 'Account' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: CreateOrg, CreateOrgSwitchSession, CreateRole, CreateUser, CreateUserWithPassword, DeleteOrg, DeleteRole, DeleteTotpConfig, DeleteTotpConfigs, DeleteUsers, GenerateTotpSecret, MutateRole, UpdateOrg, or UpdateRole. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAccount -CreateOrg).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAccount -CreateOrg).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the CreateOrg operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: CreateOrg $query = New-RscMutationAccount -Operation CreateOrg # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED fullName = $someString # REQUIRED description = $someString # REQUIRED authDomainConfig = $someTenantAuthDomainConfig # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TenantAuthDomainConfig]) for enum values. # REQUIRED shouldEnforceMfaForAll = $someBoolean # REQUIRED isEnvoyRequired = $someBoolean # REQUIRED allowedClusters = @( $someString ) # OPTIONAL replicationOnlyClusters = @( $someString ) # OPTIONAL existingUsers = @( @{ # REQUIRED id = $someString # REQUIRED isOrgAdmin = $someBoolean } ) # OPTIONAL userInvites = @( @{ # REQUIRED email = $someString # REQUIRED note = $someString # REQUIRED isOrgAdmin = $someBoolean } ) # REQUIRED permissions = @( @{ # REQUIRED operation = $someOperation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.Operation]) for enum values. # REQUIRED objectsForHierarchyTypes = @( @{ # REQUIRED objectIds = @( $someString ) # REQUIRED snappableType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. } ) } ) # REQUIRED selfServicePermissions = @( @{ # OPTIONAL inventoryRoot = $someInventorySubHierarchyRootEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InventorySubHierarchyRootEnum]) for enum values. # REQUIRED inventoryWorkloadType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. # REQUIRED operations = @( $someOperation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.Operation]) for enum values. ) # OPTIONAL hierarchyRoot = $someString } ) # OPTIONAL existingSsoGroups = @( @{ # REQUIRED id = $someString # REQUIRED isOrgAdmin = $someBoolean } ) # OPTIONAL newSsoGroups = @( @{ # REQUIRED name = $someString # REQUIRED isOrgAdmin = $someBoolean # OPTIONAL authDomainId = $someString } ) # OPTIONAL isServiceAccountEnabled = $someBoolean # OPTIONAL isServiceAccountDisabled = $someBoolean # OPTIONAL isInheritIpAllowlistDisabled = $someBoolean # OPTIONAL crossAccountCapabilities = @( $someCrossAccountCapability # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CrossAccountCapability]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateOrgReply </code> </example> <example> Runs the CreateOrgSwitchSession operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: CreateOrgSwitchSession $query = New-RscMutationAccount -Operation CreateOrgSwitchSession # REQUIRED $query.Var.input = @{ # REQUIRED orgId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateOrgSwitchSessionReply </code> </example> <example> Runs the CreateRole operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: CreateRole $query = New-RscMutationAccount -Operation CreateRole # REQUIRED $query.Var.name = $someString # REQUIRED $query.Var.description = $someString # OPTIONAL $query.Var.isSynced = $someBoolean # REQUIRED $query.Var.permissions = @( @{ # REQUIRED operation = $someOperation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.Operation]) for enum values. # REQUIRED objectsForHierarchyTypes = @( @{ # REQUIRED objectIds = @( $someString ) # REQUIRED snappableType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. } ) } ) # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the CreateUser operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: CreateUser $query = New-RscMutationAccount -Operation CreateUser # REQUIRED $query.Var.email = $someString # REQUIRED $query.Var.roleIds = @( $someString ) # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the CreateUserWithPassword operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: CreateUserWithPassword $query = New-RscMutationAccount -Operation CreateUserWithPassword # REQUIRED $query.Var.input = @{ # OPTIONAL email = $someString # OPTIONAL password = $someString # OPTIONAL roleIds = @( $someString ) # OPTIONAL requirePasswordChange = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DeleteOrg operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: DeleteOrg $query = New-RscMutationAccount -Operation DeleteOrg # REQUIRED $query.Var.input = @{ # REQUIRED organizationId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the DeleteRole operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: DeleteRole $query = New-RscMutationAccount -Operation DeleteRole # REQUIRED $query.Var.roleId = $someString # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the DeleteTotpConfig operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: DeleteTotpConfig $query = New-RscMutationAccount -Operation DeleteTotpConfig # REQUIRED $query.Var.userId = $someString # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the DeleteTotpConfigs operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: DeleteTotpConfigs $query = New-RscMutationAccount -Operation DeleteTotpConfigs # REQUIRED $query.Var.input = @{ # OPTIONAL userIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the DeleteUsers operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: DeleteUsers $query = New-RscMutationAccount -Operation DeleteUsers # REQUIRED $query.Var.ids = @( $someString ) # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the GenerateTotpSecret operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: GenerateTotpSecret $query = New-RscMutationAccount -Operation GenerateTotpSecret # REQUIRED $query.Var.userId = $someString # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: GenerateTotpSecretReply </code> </example> <example> Runs the MutateRole operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: MutateRole $query = New-RscMutationAccount -Operation MutateRole # OPTIONAL $query.Var.roleId = $someString # REQUIRED $query.Var.name = $someString # REQUIRED $query.Var.description = $someString # REQUIRED $query.Var.permissions = @( @{ # REQUIRED operation = $someOperation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.Operation]) for enum values. # REQUIRED objectsForHierarchyTypes = @( @{ # REQUIRED objectIds = @( $someString ) # REQUIRED snappableType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. } ) } ) # REQUIRED $query.Var.protectableClusters = @( $someString ) # OPTIONAL $query.Var.isSynced = $someBoolean # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateOrg operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: UpdateOrg $query = New-RscMutationAccount -Operation UpdateOrg # REQUIRED $query.Var.input = @{ # REQUIRED organizationId = $someString # REQUIRED name = $someString # REQUIRED fullName = $someString # REQUIRED description = $someString # REQUIRED authDomainConfig = $someTenantAuthDomainConfig # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TenantAuthDomainConfig]) for enum values. # REQUIRED shouldEnforceMfaForAll = $someBoolean # REQUIRED isEnvoyRequired = $someBoolean # REQUIRED allowedClusters = @( $someString ) # OPTIONAL replicationOnlyClusters = @( $someString ) # OPTIONAL existingUsers = @( @{ # REQUIRED id = $someString # REQUIRED isOrgAdmin = $someBoolean } ) # OPTIONAL userInvites = @( @{ # REQUIRED email = $someString # REQUIRED note = $someString # REQUIRED isOrgAdmin = $someBoolean } ) # REQUIRED permissions = @( @{ # REQUIRED operation = $someOperation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.Operation]) for enum values. # REQUIRED objectsForHierarchyTypes = @( @{ # REQUIRED objectIds = @( $someString ) # REQUIRED snappableType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. } ) } ) # REQUIRED selfServicePermissions = @( @{ # OPTIONAL inventoryRoot = $someInventorySubHierarchyRootEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InventorySubHierarchyRootEnum]) for enum values. # REQUIRED inventoryWorkloadType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. # REQUIRED operations = @( $someOperation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.Operation]) for enum values. ) # OPTIONAL hierarchyRoot = $someString } ) # OPTIONAL existingSsoGroups = @( @{ # REQUIRED id = $someString # REQUIRED isOrgAdmin = $someBoolean } ) # OPTIONAL newSsoGroups = @( @{ # REQUIRED name = $someString # REQUIRED isOrgAdmin = $someBoolean # OPTIONAL authDomainId = $someString } ) # OPTIONAL isServiceAccountEnabled = $someBoolean # OPTIONAL isServiceAccountDisabled = $someBoolean # OPTIONAL isInheritIpAllowlistDisabled = $someBoolean # OPTIONAL shouldKeepGlobalIpAllowlist = $someBoolean # OPTIONAL crossAccountCapabilities = @( $someCrossAccountCapability # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CrossAccountCapability]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateOrgReply </code> </example> <example> Runs the UpdateRole operation of the 'Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Account # API Operation: UpdateRole $query = New-RscMutationAccount -Operation UpdateRole # REQUIRED $query.Var.roleId = $someString # REQUIRED $query.Var.name = $someString # REQUIRED $query.Var.description = $someString # OPTIONAL $query.Var.isSynced = $someBoolean # REQUIRED $query.Var.permissions = @( @{ # REQUIRED operation = $someOperation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.Operation]) for enum values. # REQUIRED objectsForHierarchyTypes = @( @{ # REQUIRED objectIds = @( $someString ) # REQUIRED snappableType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. } ) } ) # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationActiveDirectory"> <summary> Create a new RscQuery object for any of the 4 operations in the 'Active Directory' API domain: CreateLiveMount, CreateUnmount, ModifyLiveMount, or RestoreObjects. </summary> <description> New-RscMutationActiveDirectory creates a new mutation object for operations in the 'Active Directory' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 4 operations in the 'Active Directory' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: CreateLiveMount, CreateUnmount, ModifyLiveMount, or RestoreObjects. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationActiveDirectory -CreateLiveMount).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationActiveDirectory -CreateLiveMount).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the CreateLiveMount operation of the 'Active Directory' API domain. <code> PS > # Create an RscQuery object for: # API Domain: ActiveDirectory # API Operation: CreateLiveMount $query = New-RscMutationActiveDirectory -Operation CreateLiveMount # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL validUsers = @( $someString ) # OPTIONAL validIps = @( $someString ) # OPTIONAL mountExpiryInMinutes = $someInt # OPTIONAL domainControllerId = $someString # OPTIONAL password = $someString # OPTIONAL shouldBeWritable = $someBoolean # OPTIONAL domainName = $someString # OPTIONAL subnet = $someString # OPTIONAL shouldMountVhdx = $someBoolean } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the CreateUnmount operation of the 'Active Directory' API domain. <code> PS > # Create an RscQuery object for: # API Domain: ActiveDirectory # API Operation: CreateUnmount $query = New-RscMutationActiveDirectory -Operation CreateUnmount # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the ModifyLiveMount operation of the 'Active Directory' API domain. <code> PS > # Create an RscQuery object for: # API Domain: ActiveDirectory # API Operation: ModifyLiveMount $query = New-RscMutationActiveDirectory -Operation ModifyLiveMount # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL validIps = @( $someString ) # OPTIONAL password = $someString # OPTIONAL subnet = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the RestoreObjects operation of the 'Active Directory' API domain. <code> PS > # Create an RscQuery object for: # API Domain: ActiveDirectory # API Operation: RestoreObjects $query = New-RscMutationActiveDirectory -Operation RestoreObjects # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL shouldMergeLinkedAttrs = $someBoolean # OPTIONAL restoreToDifferentContainer = $someString # OPTIONAL shouldContinueOnError = $someBoolean # OPTIONAL clearUpAttrsIfNullInBackup = $someBoolean # OPTIONAL alternateDcId = $someString # OPTIONAL shouldCreateMissingParents = $someBoolean # OPTIONAL locationId = $someString # OPTIONAL hostId = $someString # OPTIONAL nameConflict = $someActiveDirectoryObjectNameConflictOption # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActiveDirectoryObjectNameConflictOption]) for enum values. # OPTIONAL objectMovedOptions = $someActiveDirectoryObjectMovedOption # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActiveDirectoryObjectMovedOption]) for enum values. # OPTIONAL containerRestoreOptions = @{ # OPTIONAL shouldDeleteExtraObjects = $someBoolean # OPTIONAL shouldOnlyRecreateMissingObjects = $someBoolean } # OPTIONAL credsForRestore = @{ # REQUIRED password = $someString # REQUIRED username = $someString } # REQUIRED domainControllerRecoveryObjects = @( @{ # OPTIONAL attributes = @( $someString ) # OPTIONAL objectType = $someActiveDirectoryObjectType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActiveDirectoryObjectType]) for enum values. # REQUIRED dnt = $someInt64 } ) # OPTIONAL userRestoreOptions = @{ # OPTIONAL shouldEnableUser = $someBoolean # OPTIONAL shouldChangePassword = $someBoolean # OPTIONAL password = $someString # OPTIONAL passwordOptions = $someActiveDirectoryUserPasswordRecoveryOption # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActiveDirectoryUserPasswordRecoveryOption]) for enum values. } } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationActivitySeries"> <summary> Create a new RscQuery object for any of the 3 operations in the 'Activity series' API domain: Cancel, DownloadUserCsv, or DownloadUserFileCsv. </summary> <description> New-RscMutationActivitySeries creates a new mutation object for operations in the 'Activity series' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 3 operations in the 'Activity series' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: Cancel, DownloadUserCsv, or DownloadUserFileCsv. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationActivitySeries -Cancel).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationActivitySeries -Cancel).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the Cancel operation of the 'Activity series' API domain. <code> PS > # Create an RscQuery object for: # API Domain: ActivitySeries # API Operation: Cancel $query = New-RscMutationActivitySeries -Operation Cancel # REQUIRED $query.Var.input = @{ # REQUIRED activitySeriesId = $someString # REQUIRED clusterUuid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the DownloadUserCsv operation of the 'Activity series' API domain. <code> PS > # Create an RscQuery object for: # API Domain: ActivitySeries # API Operation: DownloadUserCsv $query = New-RscMutationActivitySeries -Operation DownloadUserCsv # REQUIRED $query.Var.input = @{ # REQUIRED filters = @{ # OPTIONAL openAccessTypes = @( $someOpenAccessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.OpenAccessType]) for enum values. ) # OPTIONAL stalenessTypes = @( $someStalenessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.StalenessType]) for enum values. ) # OPTIONAL analyzerGroupIds = @( $someString ) # OPTIONAL clusterIds = @( $someString ) # OPTIONAL pathPrefix = $someString # OPTIONAL snappableTypes = @( $someString ) # OPTIONAL searchText = $someString # OPTIONAL whitelistEnabled = $someBoolean # OPTIONAL fileCountTypes = @( $someFileCountType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FileCountType]) for enum values. ) # OPTIONAL accessTypes = @( $someAccessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AccessType]) for enum values. ) # OPTIONAL activityTypes = @( $someActivityAccessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityAccessType]) for enum values. ) # OPTIONAL objectIds = @( $someString ) # OPTIONAL inodeTypes = @( $someInodeType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InodeType]) for enum values. ) # REQUIRED objectTypes = @( $someHierarchyObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HierarchyObjectTypeEnum]) for enum values. ) } # REQUIRED day = $someString # REQUIRED timezone = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadCsvReply </code> </example> <example> Runs the DownloadUserFileCsv operation of the 'Activity series' API domain. <code> PS > # Create an RscQuery object for: # API Domain: ActivitySeries # API Operation: DownloadUserFileCsv $query = New-RscMutationActivitySeries -Operation DownloadUserFileCsv # REQUIRED $query.Var.input = @{ # REQUIRED userId = $someString # REQUIRED snapshot = @{ # OPTIONAL snappableFid = $someString # OPTIONAL snapshotFid = $someString } # REQUIRED nativePath = $someString # REQUIRED timezone = $someString # REQUIRED startDay = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadCsvReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationArchival"> <summary> Create a new RscQuery object for any of the 17 operations in the 'Archival' API domain: CreateGlacierReaderTarget, CreateManualTargetMapping, CreateS3CompatibleReaderTarget, CreateS3CompatibleTarget, DeleteTarget, DeleteTargetMapping, DisableTarget, EnableTarget, FilesetDownloadSnapshotFilesFromLocation, PauseTarget, PromoteReaderTarget, RefreshReaderTarget, ResumeTarget, UpdateGlacierTarget, UpdateManualTargetMapping, UpdateS3CompatibleTarget, or UpgradeCdmManagedTarget. </summary> <description> New-RscMutationArchival creates a new mutation object for operations in the 'Archival' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 17 operations in the 'Archival' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: CreateGlacierReaderTarget, CreateManualTargetMapping, CreateS3CompatibleReaderTarget, CreateS3CompatibleTarget, DeleteTarget, DeleteTargetMapping, DisableTarget, EnableTarget, FilesetDownloadSnapshotFilesFromLocation, PauseTarget, PromoteReaderTarget, RefreshReaderTarget, ResumeTarget, UpdateGlacierTarget, UpdateManualTargetMapping, UpdateS3CompatibleTarget, or UpgradeCdmManagedTarget. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationArchival -CreateGlacierReaderTarget).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationArchival -CreateGlacierReaderTarget).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the CreateGlacierReaderTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: CreateGlacierReaderTarget $query = New-RscMutationArchival -Operation CreateGlacierReaderTarget # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED cloudAccountId = $someString # REQUIRED vaultName = $someString # REQUIRED region = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. # OPTIONAL encryptionPassword = $someString # REQUIRED clusterUuid = $someString # OPTIONAL retrievalTier = $someAwsRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRetrievalTier]) for enum values. # REQUIRED readerRetrievalMethod = $someReaderRetrievalMethod # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReaderRetrievalMethod]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the CreateManualTargetMapping operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: CreateManualTargetMapping $query = New-RscMutationArchival -Operation CreateManualTargetMapping # REQUIRED $query.Var.input = @{ # OPTIONAL name = $someString # OPTIONAL type = $someTargetType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TargetType]) for enum values. # OPTIONAL archivalLocationClusterMappings = @( @{ # OPTIONAL locationId = $someString # OPTIONAL clusterUuid = $someString } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: TargetMapping </code> </example> <example> Runs the CreateS3CompatibleReaderTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: CreateS3CompatibleReaderTarget $query = New-RscMutationArchival -Operation CreateS3CompatibleReaderTarget # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED name = $someString # REQUIRED accessKey = $someString # REQUIRED secretKey = $someString # REQUIRED endpoint = $someString # REQUIRED bucketPrefix = $someString # REQUIRED numberOfBuckets = $someInt # REQUIRED encryptionKeyInDer = $someString # REQUIRED isConsolidationEnabled = $someBoolean # REQUIRED useSystemProxy = $someBoolean # REQUIRED readerRetrievalMethod = $someReaderRetrievalMethod # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReaderRetrievalMethod]) for enum values. # OPTIONAL subType = $someS3CompatibleSubType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.S3CompatibleSubType]) for enum values. # OPTIONAL encryptionPassword = $someString # OPTIONAL immutabilitySettings = @{ # OPTIONAL bucketLockDurationDays = $someInt } # OPTIONAL ibmDetails = @{ # OPTIONAL provisioningCode = $someString # OPTIONAL deploymentType = $someIbmDeploymentType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.IbmDeploymentType]) for enum values. } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the CreateS3CompatibleTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: CreateS3CompatibleTarget $query = New-RscMutationArchival -Operation CreateS3CompatibleTarget # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED name = $someString # REQUIRED accessKey = $someString # REQUIRED secretKey = $someString # REQUIRED endpoint = $someString # REQUIRED bucketPrefix = $someString # REQUIRED numberOfBuckets = $someInt # REQUIRED encryptionKeyInDer = $someString # REQUIRED isConsolidationEnabled = $someBoolean # REQUIRED useSystemProxy = $someBoolean # OPTIONAL subType = $someS3CompatibleSubType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.S3CompatibleSubType]) for enum values. # OPTIONAL encryptionPassword = $someString # OPTIONAL immutabilitySettings = @{ # OPTIONAL bucketLockDurationDays = $someInt } # OPTIONAL ibmDetails = @{ # OPTIONAL provisioningCode = $someString # OPTIONAL deploymentType = $someIbmDeploymentType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.IbmDeploymentType]) for enum values. } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the DeleteTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: DeleteTarget $query = New-RscMutationArchival -Operation DeleteTarget # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DeleteTargetMapping operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: DeleteTargetMapping $query = New-RscMutationArchival -Operation DeleteTargetMapping # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DisableTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: DisableTarget $query = New-RscMutationArchival -Operation DisableTarget # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DisableTargetReply </code> </example> <example> Runs the EnableTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: EnableTarget $query = New-RscMutationArchival -Operation EnableTarget # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: EnableTargetReply </code> </example> <example> Runs the FilesetDownloadSnapshotFilesFromLocation operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: FilesetDownloadSnapshotFilesFromLocation $query = New-RscMutationArchival -Operation FilesetDownloadSnapshotFilesFromLocation # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL nextSnapshotId = $someString # OPTIONAL userNote = $someString # OPTIONAL zipPassword = $someString # REQUIRED config = @{ # OPTIONAL zipPassword = $someString # OPTIONAL legalHoldDownloadConfig = @{ # REQUIRED isLegalHoldDownload = $someBoolean } # REQUIRED sourceDirs = @( $someString ) } # OPTIONAL deltaTypeFilter = @( $someDeltaType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DeltaType]) for enum values. ) # REQUIRED locationId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the PauseTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: PauseTarget $query = New-RscMutationArchival -Operation PauseTarget # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: PauseTargetReply </code> </example> <example> Runs the PromoteReaderTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: PromoteReaderTarget $query = New-RscMutationArchival -Operation PromoteReaderTarget # REQUIRED $query.Var.input = @{ # OPTIONAL locationId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the RefreshReaderTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: RefreshReaderTarget $query = New-RscMutationArchival -Operation RefreshReaderTarget # REQUIRED $query.Var.input = @{ # OPTIONAL localDataSourceIds = @( $someString ) # OPTIONAL archivalDataSourceIds = @( $someString ) # OPTIONAL locationId = $someString # OPTIONAL externalLocationId = $someString # OPTIONAL clusterId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the ResumeTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: ResumeTarget $query = New-RscMutationArchival -Operation ResumeTarget # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResumeTargetReply </code> </example> <example> Runs the UpdateGlacierTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: UpdateGlacierTarget $query = New-RscMutationArchival -Operation UpdateGlacierTarget # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL retrievalTier = $someAwsRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRetrievalTier]) for enum values. # OPTIONAL cloudAccountId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the UpdateManualTargetMapping operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: UpdateManualTargetMapping $query = New-RscMutationArchival -Operation UpdateManualTargetMapping # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString # OPTIONAL name = $someString # OPTIONAL archivalLocationClusterMappings = @( @{ # OPTIONAL locationId = $someString # OPTIONAL clusterUuid = $someString } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: TargetMapping </code> </example> <example> Runs the UpdateS3CompatibleTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: UpdateS3CompatibleTarget $query = New-RscMutationArchival -Operation UpdateS3CompatibleTarget # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL accessKey = $someString # OPTIONAL secretKey = $someString # OPTIONAL endpoint = $someString # OPTIONAL numberOfBuckets = $someInt # OPTIONAL isConsolidationEnabled = $someBoolean # OPTIONAL useSystemProxy = $someBoolean # OPTIONAL immutabilitySettings = @{ # OPTIONAL bucketLockDurationDays = $someInt } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the UpgradeCdmManagedTarget operation of the 'Archival' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Archival # API Operation: UpgradeCdmManagedTarget $query = New-RscMutationArchival -Operation UpgradeCdmManagedTarget # REQUIRED $query.Var.input = @{ # REQUIRED fids = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationAws"> <summary> Create a new RscQuery object for any of the 37 operations in the 'AWS' API domain: AddAuthenticationServerBasedCloudAccount, AddIamUserBasedCloudAccount, BulkDeleteCloudAccountWithoutCft, CloudAccountsMigrateInitiate, CreateAccount, CreateAutomaticTargetMapping, CreateCloudNativeStorageSetting, CreateCluster, CreateComputeSetting, CreateExocomputeConfigs, CreateReaderTarget, CreateTarget, DeleteComputeSetting, DeleteExocomputeConfigs, DisconnectExocomputeCluster, ExocomputeClusterConnect, FinalizeCloudAccountDeletion, FinalizeCloudAccountProtection, PatchAuthenticationServerBasedCloudAccount, PatchIamUserBasedCloudAccount, PrepareCloudAccountDeletion, PrepareFeatureUpdateForCloudAccount, RegisterFeatureArtifacts, StartExocomputeDisableJob, UpdateAccount, UpdateAutomaticTargetMapping, UpdateCloudAccount, UpdateCloudAccountFeature, UpdateCloudNativeStorageSetting, UpdateComputeSetting, UpdateExocomputeConfigs, UpdateIamPair, UpdateTarget, UpgradeCloudAccountFeaturesWithoutCft, UpgradeIamUserBasedCloudAccountPermissions, ValidateAndCreateCloudAccount, or ValidateAndInitiateOutpostAccount. </summary> <description> New-RscMutationAws creates a new mutation object for operations in the 'AWS' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 37 operations in the 'AWS' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: AddAuthenticationServerBasedCloudAccount, AddIamUserBasedCloudAccount, BulkDeleteCloudAccountWithoutCft, CloudAccountsMigrateInitiate, CreateAccount, CreateAutomaticTargetMapping, CreateCloudNativeStorageSetting, CreateCluster, CreateComputeSetting, CreateExocomputeConfigs, CreateReaderTarget, CreateTarget, DeleteComputeSetting, DeleteExocomputeConfigs, DisconnectExocomputeCluster, ExocomputeClusterConnect, FinalizeCloudAccountDeletion, FinalizeCloudAccountProtection, PatchAuthenticationServerBasedCloudAccount, PatchIamUserBasedCloudAccount, PrepareCloudAccountDeletion, PrepareFeatureUpdateForCloudAccount, RegisterFeatureArtifacts, StartExocomputeDisableJob, UpdateAccount, UpdateAutomaticTargetMapping, UpdateCloudAccount, UpdateCloudAccountFeature, UpdateCloudNativeStorageSetting, UpdateComputeSetting, UpdateExocomputeConfigs, UpdateIamPair, UpdateTarget, UpgradeCloudAccountFeaturesWithoutCft, UpgradeIamUserBasedCloudAccountPermissions, ValidateAndCreateCloudAccount, or ValidateAndInitiateOutpostAccount. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAws -AddAuthenticationServerBasedCloudAccount).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAws -AddAuthenticationServerBasedCloudAccount).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the AddAuthenticationServerBasedCloudAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: AddAuthenticationServerBasedCloudAccount $query = New-RscMutationAws -Operation AddAuthenticationServerBasedCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. # REQUIRED awsAccountName = $someString # OPTIONAL awsRegions = @( $someAwsAuthServerBasedCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsAuthServerBasedCloudAccountRegion]) for enum values. ) # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL nativeId = $someString # OPTIONAL agencyName = $someString # OPTIONAL roleName = $someString # OPTIONAL authServerHostName = $someString # OPTIONAL authServerUserClientCertId = @{ # REQUIRED id = $someInt64 } # OPTIONAL authServerCaCertId = @{ # REQUIRED id = $someInt64 } # OPTIONAL awsCaCertId = @{ # REQUIRED id = $someInt64 } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddAwsAuthenticationServerBasedCloudAccountReply </code> </example> <example> Runs the AddIamUserBasedCloudAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: AddIamUserBasedCloudAccount $query = New-RscMutationAws -Operation AddIamUserBasedCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL accessKey = $someString # OPTIONAL secretKey = $someString # REQUIRED nativeId = $someString # REQUIRED cloudAccountName = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. # OPTIONAL awsRegions = @( $someAwsCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudAccountRegion]) for enum values. ) # OPTIONAL roleArn = $someString # OPTIONAL externalArtifactMap = @( @{ # OPTIONAL externalArtifactKey = $someAwsCloudExternalArtifact # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudExternalArtifact]) for enum values. # OPTIONAL externalArtifactValue = $someString } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddAwsIamUserBasedCloudAccountReply </code> </example> <example> Runs the BulkDeleteCloudAccountWithoutCft operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: BulkDeleteCloudAccountWithoutCft $query = New-RscMutationAws -Operation BulkDeleteCloudAccountWithoutCft # REQUIRED $query.Var.input = @{ # REQUIRED awsNativeId = $someString # OPTIONAL features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkDeleteAwsCloudAccountWithoutCftReply </code> </example> <example> Runs the CloudAccountsMigrateInitiate operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CloudAccountsMigrateInitiate $query = New-RscMutationAws -Operation CloudAccountsMigrateInitiate # REQUIRED $query.Var.input = @{ # REQUIRED orgId = $someString # OPTIONAL awsRoleCustomization = @{ # OPTIONAL crossAccountRoleName = $someString # OPTIONAL crossAccountRolePath = $someString # OPTIONAL masterRoleName = $someString # OPTIONAL masterRolePath = $someString # OPTIONAL workerRoleName = $someString # OPTIONAL workerRolePath = $someString # OPTIONAL instanceProfileName = $someString # OPTIONAL instanceProfilePath = $someString # OPTIONAL ec2RecoveryRolePath = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AwsCloudAccountsMigrateInitiateReply </code> </example> <example> Runs the CreateAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateAccount $query = New-RscMutationAws -Operation CreateAccount # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # OPTIONAL description = $someString # REQUIRED accessKey = $someString # REQUIRED secretKey = $someString # OPTIONAL stsEndpoint = $someString # OPTIONAL stsRegion = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CloudAccount </code> </example> <example> Runs the CreateAutomaticTargetMapping operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateAutomaticTargetMapping $query = New-RscMutationAws -Operation CreateAutomaticTargetMapping # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED cloudAccountId = $someString # REQUIRED bucketPrefix = $someString # REQUIRED storageClass = $someAwsStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsStorageClass]) for enum values. # REQUIRED region = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. # OPTIONAL kmsMasterKeyId = $someString # OPTIONAL rsaKey = $someString # REQUIRED isConsolidationEnabled = $someBoolean # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL clusterUuidList = @( $someString ) # OPTIONAL awsComputeSettingsId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: TargetMapping </code> </example> <example> Runs the CreateCloudNativeStorageSetting operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateCloudNativeStorageSetting $query = New-RscMutationAws -Operation CreateCloudNativeStorageSetting # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED cloudAccountId = $someString # REQUIRED bucketPrefix = $someString # REQUIRED storageClass = $someAwsStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsStorageClass]) for enum values. # OPTIONAL region = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. # OPTIONAL kmsMasterKeyId = $someString # REQUIRED cloudNativeLocTemplateType = $someCloudNativeLocTemplateType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudNativeLocTemplateType]) for enum values. # OPTIONAL bucketTags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateCloudNativeAwsStorageSettingReply </code> </example> <example> Runs the CreateCluster operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateCluster $query = New-RscMutationAws -Operation CreateCluster # REQUIRED $query.Var.input = @{ # OPTIONAL cloudAccountId = $someString # OPTIONAL isEsType = $someBoolean # OPTIONAL keepClusterOnFailure = $someBoolean # OPTIONAL region = $someString # OPTIONAL disableApiTermination = $someBoolean # OPTIONAL usePlacementGroups = $someBoolean # OPTIONAL clusterConfig = @{ # OPTIONAL userEmail = $someString # OPTIONAL adminPassword = $someString # OPTIONAL clusterName = $someString # OPTIONAL numNodes = $someInt # OPTIONAL dnsSearchDomains = @( $someString ) # OPTIONAL dnsNameServers = @( $someString ) # OPTIONAL ntpServers = @( $someString ) # OPTIONAL azureEsConfig = @{ # OPTIONAL storageAccount = $someString # OPTIONAL resourceGroup = $someString # OPTIONAL storageSecret = $someString # OPTIONAL containerName = $someString # OPTIONAL shouldCreateContainer = $someBoolean # OPTIONAL enableImmutability = $someBoolean # OPTIONAL managedIdentity = @{ # OPTIONAL name = $someString # OPTIONAL clientId = $someString # OPTIONAL resourceGroup = $someString } } # OPTIONAL awsEsConfig = @{ # OPTIONAL bucketName = $someString # OPTIONAL shouldCreateBucket = $someBoolean # OPTIONAL enableObjectLock = $someBoolean # OPTIONAL enableImmutability = $someBoolean } # OPTIONAL ociEsConfig = @{ # OPTIONAL bucketName = $someString # OPTIONAL ociNamespace = $someString # OPTIONAL accessKey = $someString # OPTIONAL secretKey = $someString } } # OPTIONAL vmConfig = @{ # OPTIONAL cdmVersion = $someString # OPTIONAL nodeSizeGb = $someInt # OPTIONAL subnet = $someString # OPTIONAL tags = $someString # OPTIONAL imageId = $someString # OPTIONAL instanceProfileName = $someString # OPTIONAL cdmProduct = $someString # OPTIONAL placementGroupName = $someString # OPTIONAL vmType = $someVmType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.VmType]) for enum values. # OPTIONAL securityGroups = @( $someString ) # OPTIONAL instanceType = $someAwsInstanceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsInstanceType]) for enum values. # OPTIONAL networkConfig = @( @{ # OPTIONAL availabilityZone = $someString # OPTIONAL subnet = $someString } ) } # OPTIONAL validations = @( $someClusterCreateValidations # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterCreateValidations]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CcProvisionJobReply </code> </example> <example> Runs the CreateComputeSetting operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateComputeSetting $query = New-RscMutationAws -Operation CreateComputeSetting # REQUIRED $query.Var.input = @{ # OPTIONAL name = $someString # OPTIONAL subnetId = $someString # OPTIONAL vpcId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL cloudAccountId = $someString # OPTIONAL region = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. # OPTIONAL isSecurityGroupPolarisManaged = $someBoolean # OPTIONAL clusterInterfaceCidrs = @( @{ # OPTIONAL clusterName = $someString # OPTIONAL clusterId = $someString # OPTIONAL interfaceCidr = @( @{ # OPTIONAL interfaceType = $someInterfaceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InterfaceType]) for enum values. # OPTIONAL cidr = $someString # OPTIONAL selected = $someBoolean } ) } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AwsComputeSettings </code> </example> <example> Runs the CreateExocomputeConfigs operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateExocomputeConfigs $query = New-RscMutationAws -Operation CreateExocomputeConfigs # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED configs = @( @{ # REQUIRED region = $someAwsCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudAccountRegion]) for enum values. # OPTIONAL clusterSecurityGroupId = $someString # OPTIONAL vpcId = $someString # OPTIONAL nodeSecurityGroupId = $someString # OPTIONAL subnets = @( @{ # REQUIRED subnetId = $someString # REQUIRED availabilityZone = $someString } ) # OPTIONAL isRscManaged = $someBoolean # OPTIONAL clusterName = $someString } ) # OPTIONAL triggerHealthCheck = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateAwsExocomputeConfigsReply </code> </example> <example> Runs the CreateReaderTarget operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateReaderTarget $query = New-RscMutationAws -Operation CreateReaderTarget # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED cloudAccountId = $someString # REQUIRED bucketName = $someString # REQUIRED storageClass = $someAwsStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsStorageClass]) for enum values. # REQUIRED region = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. # OPTIONAL kmsMasterKeyId = $someString # OPTIONAL rsaKey = $someString # OPTIONAL encryptionPassword = $someString # REQUIRED clusterUuid = $someString # REQUIRED isConsolidationEnabled = $someBoolean # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL awsComputeSettingsId = $someString # OPTIONAL cloudComputeSettings = @{ # OPTIONAL subnetId = $someString # OPTIONAL vpcId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } } # OPTIONAL awsRetrievalTier = $someAwsRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRetrievalTier]) for enum values. # REQUIRED readerRetrievalMethod = $someReaderRetrievalMethod # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReaderRetrievalMethod]) for enum values. # OPTIONAL s3Endpoint = $someString # OPTIONAL kmsEndpoint = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL awsIamPairId = $someString # REQUIRED bypassProxy = $someBoolean # OPTIONAL awsKmsKey = @{ # REQUIRED keyManagerId = $someString # REQUIRED keyId = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the CreateTarget operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: CreateTarget $query = New-RscMutationAws -Operation CreateTarget # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED cloudAccountId = $someString # REQUIRED bucketName = $someString # REQUIRED storageClass = $someAwsStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsStorageClass]) for enum values. # REQUIRED region = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. # OPTIONAL kmsMasterKeyId = $someString # OPTIONAL rsaKey = $someString # OPTIONAL encryptionPassword = $someString # REQUIRED clusterUuid = $someString # REQUIRED isConsolidationEnabled = $someBoolean # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL awsComputeSettingsId = $someString # OPTIONAL cloudComputeSettings = @{ # OPTIONAL subnetId = $someString # OPTIONAL vpcId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } } # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL awsRetrievalTier = $someAwsRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRetrievalTier]) for enum values. # OPTIONAL immutabilitySettings = @{ # OPTIONAL lockDurationDays = $someInt } # OPTIONAL s3Endpoint = $someString # OPTIONAL kmsEndpoint = $someString # OPTIONAL awsIamPairId = $someString # REQUIRED bypassProxy = $someBoolean # OPTIONAL awsKmsKey = @{ # REQUIRED keyManagerId = $someString # REQUIRED keyId = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the DeleteComputeSetting operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: DeleteComputeSetting $query = New-RscMutationAws -Operation DeleteComputeSetting # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DeleteExocomputeConfigs operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: DeleteExocomputeConfigs $query = New-RscMutationAws -Operation DeleteExocomputeConfigs # REQUIRED $query.Var.input = @{ # REQUIRED configIdsToBeDeleted = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DeleteAwsExocomputeConfigsReply </code> </example> <example> Runs the DisconnectExocomputeCluster operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: DisconnectExocomputeCluster $query = New-RscMutationAws -Operation DisconnectExocomputeCluster # REQUIRED $query.Var.input = @{ # REQUIRED clusterId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the ExocomputeClusterConnect operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: ExocomputeClusterConnect $query = New-RscMutationAws -Operation ExocomputeClusterConnect # REQUIRED $query.Var.input = @{ # OPTIONAL clusterName = $someString # REQUIRED exocomputeConfigId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AwsExocomputeClusterConnectReply </code> </example> <example> Runs the FinalizeCloudAccountDeletion operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: FinalizeCloudAccountDeletion $query = New-RscMutationAws -Operation FinalizeCloudAccountDeletion # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL awsIamPairId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: FinalizeAwsCloudAccountDeletionReply </code> </example> <example> Runs the FinalizeCloudAccountProtection operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: FinalizeCloudAccountProtection $query = New-RscMutationAws -Operation FinalizeCloudAccountProtection # REQUIRED $query.Var.input = @{ # REQUIRED action = $someCloudAccountAction # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountAction]) for enum values. # OPTIONAL features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL awsAdminAccount = @{ # OPTIONAL id = $someString # OPTIONAL nativeId = $someString # OPTIONAL accountName = $someString # OPTIONAL seamlessFlowEnabled = $someBoolean # OPTIONAL orgName = $someString # OPTIONAL outpostAwsNativeId = $someString # OPTIONAL orgId = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } # REQUIRED awsChildAccounts = @( @{ # OPTIONAL id = $someString # OPTIONAL nativeId = $someString # OPTIONAL accountName = $someString # OPTIONAL seamlessFlowEnabled = $someBoolean # OPTIONAL orgName = $someString # OPTIONAL outpostAwsNativeId = $someString # OPTIONAL orgId = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } ) # OPTIONAL awsRegions = @( $someAwsCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudAccountRegion]) for enum values. ) # OPTIONAL stackName = $someString # OPTIONAL stackSetName = $someString # OPTIONAL externalId = $someString # OPTIONAL featureVersion = @( @{ # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL version = $someInt # OPTIONAL permissionsGroupVersions = @( @{ # REQUIRED permissionsGroup = $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. # OPTIONAL version = $someInt } ) } ) # OPTIONAL featuresWithPermissionsGroups = @( @{ # OPTIONAL featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) } ) # OPTIONAL awsIamPairId = $someString # OPTIONAL orgId = $someString # OPTIONAL awsChildOus = @( @{ # OPTIONAL nativeId = $someString # OPTIONAL name = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: FinalizeAwsCloudAccountProtectionReply </code> </example> <example> Runs the PatchAuthenticationServerBasedCloudAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: PatchAuthenticationServerBasedCloudAccount $query = New-RscMutationAws -Operation PatchAuthenticationServerBasedCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED awsCloudAccountId = $someString # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL awsRegions = @{ # REQUIRED regions = @( $someAwsAuthServerBasedCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsAuthServerBasedCloudAccountRegion]) for enum values. ) } # OPTIONAL roleName = @{ # REQUIRED name = $someString } # OPTIONAL authServerUserClientCertId = @{ # REQUIRED id = $someInt64 } # OPTIONAL authServerCaCertId = @{ # REQUIRED id = $someInt64 } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the PatchIamUserBasedCloudAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: PatchIamUserBasedCloudAccount $query = New-RscMutationAws -Operation PatchIamUserBasedCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED awsCloudAccountId = $someString # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL awsRegions = @{ # REQUIRED regions = @( $someAwsCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudAccountRegion]) for enum values. ) } # OPTIONAL awsUserKeys = @{ # REQUIRED accessKey = $someString # REQUIRED secretKey = $someString } # OPTIONAL awsRoleArn = @{ # REQUIRED roleArn = $someString } # OPTIONAL externalArtifactMap = @( @{ # OPTIONAL externalArtifactKey = $someAwsCloudExternalArtifact # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudExternalArtifact]) for enum values. # OPTIONAL externalArtifactValue = $someString } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the PrepareCloudAccountDeletion operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: PrepareCloudAccountDeletion $query = New-RscMutationAws -Operation PrepareCloudAccountDeletion # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL awsRoleCustomization = @{ # OPTIONAL crossAccountRoleName = $someString # OPTIONAL crossAccountRolePath = $someString # OPTIONAL masterRoleName = $someString # OPTIONAL masterRolePath = $someString # OPTIONAL workerRoleName = $someString # OPTIONAL workerRolePath = $someString # OPTIONAL instanceProfileName = $someString # OPTIONAL instanceProfilePath = $someString # OPTIONAL ec2RecoveryRolePath = $someString } # OPTIONAL awsIamPairId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: PrepareAwsCloudAccountDeletionReply </code> </example> <example> Runs the PrepareFeatureUpdateForCloudAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: PrepareFeatureUpdateForCloudAccount $query = New-RscMutationAws -Operation PrepareFeatureUpdateForCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # OPTIONAL features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL featuresWithPermissionsGroups = @( @{ # OPTIONAL featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) } ) # OPTIONAL awsRoleCustomization = @{ # OPTIONAL crossAccountRoleName = $someString # OPTIONAL crossAccountRolePath = $someString # OPTIONAL masterRoleName = $someString # OPTIONAL masterRolePath = $someString # OPTIONAL workerRoleName = $someString # OPTIONAL workerRolePath = $someString # OPTIONAL instanceProfileName = $someString # OPTIONAL instanceProfilePath = $someString # OPTIONAL ec2RecoveryRolePath = $someString } # OPTIONAL awsIamPairId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: PrepareFeatureUpdateForAwsCloudAccountReply </code> </example> <example> Runs the RegisterFeatureArtifacts operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: RegisterFeatureArtifacts $query = New-RscMutationAws -Operation RegisterFeatureArtifacts # REQUIRED $query.Var.input = @{ # REQUIRED awsArtifacts = @( @{ # REQUIRED awsNativeId = $someString # REQUIRED externalArtifacts = @( @{ # REQUIRED externalArtifactValue = $someString # OPTIONAL externalArtifactKey = $someAwsCloudExternalArtifact # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudExternalArtifact]) for enum values. } ) # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) } ) # OPTIONAL roleChainingAccountId = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RegisterAwsFeatureArtifactsReply </code> </example> <example> Runs the StartExocomputeDisableJob operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: StartExocomputeDisableJob $query = New-RscMutationAws -Operation StartExocomputeDisableJob # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the UpdateAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateAccount $query = New-RscMutationAws -Operation UpdateAccount # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED name = $someString # OPTIONAL description = $someString # REQUIRED accessKey = $someString # REQUIRED secretKey = $someString # OPTIONAL stsEndpoint = $someString # OPTIONAL stsRegion = $someAwsRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRegion]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CloudAccount </code> </example> <example> Runs the UpdateAutomaticTargetMapping operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateAutomaticTargetMapping $query = New-RscMutationAws -Operation UpdateAutomaticTargetMapping # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL cloudAccountId = $someString # OPTIONAL storageClass = $someAwsStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsStorageClass]) for enum values. # OPTIONAL isConsolidationEnabled = $someBoolean # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL clusterUuidList = @( $someString ) # OPTIONAL awsComputeSettingsId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: TargetMapping </code> </example> <example> Runs the UpdateCloudAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateCloudAccount $query = New-RscMutationAws -Operation UpdateCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # OPTIONAL awsAccountName = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateCloudAccountFeature operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateCloudAccountFeature $query = New-RscMutationAws -Operation UpdateCloudAccountFeature # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED action = $someCloudAccountAction # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountAction]) for enum values. # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL awsRegions = @( $someAwsCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudAccountRegion]) for enum values. ) # OPTIONAL roleArn = $someString # OPTIONAL stackArn = $someString # OPTIONAL awsAccountName = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateAwsCloudAccountFeatureReply </code> </example> <example> Runs the UpdateCloudNativeStorageSetting operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateCloudNativeStorageSetting $query = New-RscMutationAws -Operation UpdateCloudNativeStorageSetting # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL storageClass = $someAwsStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsStorageClass]) for enum values. # OPTIONAL kmsMasterKeyId = $someString # OPTIONAL bucketTags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } # OPTIONAL deleteAllBucketTags = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateCloudNativeAwsStorageSettingReply </code> </example> <example> Runs the UpdateComputeSetting operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateComputeSetting $query = New-RscMutationAws -Operation UpdateComputeSetting # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someString # OPTIONAL name = $someString # OPTIONAL subnetId = $someString # OPTIONAL vpcId = $someString # OPTIONAL securityGroupId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AwsComputeSettings </code> </example> <example> Runs the UpdateExocomputeConfigs operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateExocomputeConfigs $query = New-RscMutationAws -Operation UpdateExocomputeConfigs # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED configs = @( @{ # REQUIRED region = $someAwsCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudAccountRegion]) for enum values. # OPTIONAL clusterSecurityGroupId = $someString # OPTIONAL vpcId = $someString # OPTIONAL nodeSecurityGroupId = $someString # OPTIONAL subnets = @( @{ # REQUIRED subnetId = $someString # REQUIRED availabilityZone = $someString } ) # OPTIONAL isRscManaged = $someBoolean # OPTIONAL clusterName = $someString } ) # OPTIONAL triggerHealthCheck = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateAwsExocomputeConfigsReply </code> </example> <example> Runs the UpdateIamPair operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateIamPair $query = New-RscMutationAws -Operation UpdateIamPair # REQUIRED $query.Var.input = @{ # OPTIONAL awsIamPairId = $someString # OPTIONAL awsIamRoleName = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateTarget operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpdateTarget $query = New-RscMutationAws -Operation UpdateTarget # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL cloudAccountId = $someString # OPTIONAL storageClass = $someAwsStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsStorageClass]) for enum values. # OPTIONAL isConsolidationEnabled = $someBoolean # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL awsComputeSettingsId = $someString # OPTIONAL cloudComputeSettings = @{ # OPTIONAL subnetId = $someString # OPTIONAL vpcId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } } # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL awsRetrievalTier = $someAwsRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsRetrievalTier]) for enum values. # OPTIONAL immutabilitySettings = @{ # OPTIONAL lockDurationDays = $someInt } # OPTIONAL s3Endpoint = $someString # OPTIONAL kmsEndpoint = $someString # OPTIONAL bypassProxy = $someBoolean # OPTIONAL awsIamPairId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the UpgradeCloudAccountFeaturesWithoutCft operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpgradeCloudAccountFeaturesWithoutCft $query = New-RscMutationAws -Operation UpgradeCloudAccountFeaturesWithoutCft # REQUIRED $query.Var.input = @{ # REQUIRED awsCloudAccountId = $someString # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the UpgradeIamUserBasedCloudAccountPermissions operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: UpgradeIamUserBasedCloudAccountPermissions $query = New-RscMutationAws -Operation UpgradeIamUserBasedCloudAccountPermissions # REQUIRED $query.Var.input = @{ # REQUIRED awsCloudAccountId = $someString # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the ValidateAndCreateCloudAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: ValidateAndCreateCloudAccount $query = New-RscMutationAws -Operation ValidateAndCreateCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED action = $someCloudAccountAction # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountAction]) for enum values. # OPTIONAL features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL awsAdminAccount = @{ # OPTIONAL id = $someString # OPTIONAL nativeId = $someString # OPTIONAL accountName = $someString # OPTIONAL seamlessFlowEnabled = $someBoolean # OPTIONAL orgName = $someString # OPTIONAL outpostAwsNativeId = $someString # OPTIONAL orgId = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } # REQUIRED awsChildAccounts = @( @{ # OPTIONAL id = $someString # OPTIONAL nativeId = $someString # OPTIONAL accountName = $someString # OPTIONAL seamlessFlowEnabled = $someBoolean # OPTIONAL orgName = $someString # OPTIONAL outpostAwsNativeId = $someString # OPTIONAL orgId = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } ) # OPTIONAL awsRoleCustomization = @{ # OPTIONAL crossAccountRoleName = $someString # OPTIONAL crossAccountRolePath = $someString # OPTIONAL masterRoleName = $someString # OPTIONAL masterRolePath = $someString # OPTIONAL workerRoleName = $someString # OPTIONAL workerRolePath = $someString # OPTIONAL instanceProfileName = $someString # OPTIONAL instanceProfilePath = $someString # OPTIONAL ec2RecoveryRolePath = $someString } # OPTIONAL featuresWithPermissionsGroups = @( @{ # OPTIONAL featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) } ) # OPTIONAL awsIamPair = @{ # OPTIONAL awsIamPairId = $someString # OPTIONAL awsIamRoleName = $someString } # OPTIONAL outpostAwsNativeId = $someString # OPTIONAL orgId = $someString # OPTIONAL awsChildOus = @( @{ # OPTIONAL nativeId = $someString # OPTIONAL name = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } ) # OPTIONAL roleChainingAccountId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ValidateAndCreateAwsCloudAccountReply </code> </example> <example> Runs the ValidateAndInitiateOutpostAccount operation of the 'AWS' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Aws # API Operation: ValidateAndInitiateOutpostAccount $query = New-RscMutationAws -Operation ValidateAndInitiateOutpostAccount # REQUIRED $query.Var.input = @{ # REQUIRED outpostAwsNativeId = $someString # OPTIONAL cloudType = $someAwsCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ValidateAndInitiateAwsOutpostAccountReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationAwsNative"> <summary> Create a new RscQuery object for any of the 8 operations in the 'AWS Native' API domain: ExcludeEbsVolumesFromSnapshot, StartAccountDisableJob, StartCreateEbsVolumeSnapshotsJob, StartEc2InstanceSnapshotsJob, StartExportEbsVolumeSnapshotJob, StartRdsInstanceSnapshotsJob, StartRefreshAccountsJob, or StartRestoreEc2InstanceSnapshotJob. </summary> <description> New-RscMutationAwsNative creates a new mutation object for operations in the 'AWS Native' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 8 operations in the 'AWS Native' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: ExcludeEbsVolumesFromSnapshot, StartAccountDisableJob, StartCreateEbsVolumeSnapshotsJob, StartEc2InstanceSnapshotsJob, StartExportEbsVolumeSnapshotJob, StartRdsInstanceSnapshotsJob, StartRefreshAccountsJob, or StartRestoreEc2InstanceSnapshotJob. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAwsNative -ExcludeEbsVolumesFromSnapshot).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAwsNative -ExcludeEbsVolumesFromSnapshot).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the ExcludeEbsVolumesFromSnapshot operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: ExcludeEbsVolumesFromSnapshot $query = New-RscMutationAwsNative -Operation ExcludeEbsVolumesFromSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED awsNativeEc2InstanceId = $someString # REQUIRED volumeIdExclusions = @( @{ # REQUIRED volumeId = $someString # REQUIRED isExcluded = $someBoolean } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the StartAccountDisableJob operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: StartAccountDisableJob $query = New-RscMutationAwsNative -Operation StartAccountDisableJob # REQUIRED $query.Var.input = @{ # REQUIRED awsAccountRubrikId = $someString # REQUIRED shouldDeleteNativeSnapshots = $someBoolean # REQUIRED awsNativeProtectionFeature = $someAwsNativeProtectionFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsNativeProtectionFeature]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the StartCreateEbsVolumeSnapshotsJob operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: StartCreateEbsVolumeSnapshotsJob $query = New-RscMutationAwsNative -Operation StartCreateEbsVolumeSnapshotsJob # REQUIRED $query.Var.input = @{ # REQUIRED ebsVolumeIds = @( $someString ) # OPTIONAL retentionSlaId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartEc2InstanceSnapshotsJob operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: StartEc2InstanceSnapshotsJob $query = New-RscMutationAwsNative -Operation StartEc2InstanceSnapshotsJob # REQUIRED $query.Var.input = @{ # REQUIRED ec2InstanceIds = @( $someString ) # OPTIONAL retentionSlaId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartExportEbsVolumeSnapshotJob operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: StartExportEbsVolumeSnapshotJob $query = New-RscMutationAwsNative -Operation StartExportEbsVolumeSnapshotJob # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED destinationAwsAccountRubrikId = $someString # REQUIRED destinationRegionNativeId = $someAwsNativeRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsNativeRegion]) for enum values. # REQUIRED volumeName = $someString # REQUIRED volumeSize = $someInt # REQUIRED volumeType = $someAwsNativeEbsVolumeType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsNativeEbsVolumeType]) for enum values. # REQUIRED availabilityZone = $someString # REQUIRED iops = $someInt # REQUIRED shouldCopyTags = $someBoolean # REQUIRED shouldReplaceAttached = $someBoolean # OPTIONAL kmsKeyId = $someString # OPTIONAL snapshotType = $someSnapshotType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SnapshotType]) for enum values. # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the StartRdsInstanceSnapshotsJob operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: StartRdsInstanceSnapshotsJob $query = New-RscMutationAwsNative -Operation StartRdsInstanceSnapshotsJob # REQUIRED $query.Var.input = @{ # REQUIRED rdsInstanceIds = @( $someString ) # OPTIONAL retentionSlaId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartRefreshAccountsJob operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: StartRefreshAccountsJob $query = New-RscMutationAwsNative -Operation StartRefreshAccountsJob # REQUIRED $query.Var.input = @{ # REQUIRED awsAccountRubrikIds = @( $someString ) # REQUIRED awsNativeProtectionFeatures = @( $someAwsNativeProtectionFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsNativeProtectionFeature]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartRestoreEc2InstanceSnapshotJob operation of the 'AWS Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AwsNative # API Operation: StartRestoreEc2InstanceSnapshotJob $query = New-RscMutationAwsNative -Operation StartRestoreEc2InstanceSnapshotJob # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED shouldPowerOn = $someBoolean # REQUIRED shouldRestoreTags = $someBoolean # OPTIONAL snapshotTypeToUseIfSourceExpired = $someSnapshotTypeToUseIfSourceExpired # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SnapshotTypeToUseIfSourceExpired]) for enum values. # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationAzure"> <summary> Create a new RscQuery object for any of the 44 operations in the 'Azure' API domain: AddCloudAccount, AddCloudAccountExocomputeConfigurations, AddCloudAccountWithoutOauth, BackupAdDirectory, CompleteAdAppSetup, CompleteAdAppUpdate, CompleteCloudAccountOauth, CreateAccount, CreateAutomaticTargetMapping, CreateCloudNativeRcvStorageSetting, CreateCloudNativeStorageSetting, CreateCluster, CreateReaderTarget, CreateSaasAppAad, CreateTarget, DeleteAdDirectory, DeleteCloudAccount, DeleteCloudAccountExocomputeConfigurations, DeleteCloudAccountWithoutOauth, ExcludeStorageAccountContainers, MapCloudAccountExocomputeSubscription, MapCloudAccountToPersistentStorageLocation, OauthConsentComplete, OauthConsentKickoff, RestoreAdObjectsWithPasswords, SetCloudAccountCustomerAppCredentials, StartAdAppSetup, StartAdAppUpdate, StartCloudAccountOauth, StartDisableCloudAccountJob, StartExportSqlDatabaseDbJob, StartExportSqlManagedInstanceDbJob, UnmapCloudAccountExocomputeSubscription, UnmapPersistentStorageSubscription, UpdateAccount, UpdateAutomaticTargetMapping, UpdateCloudAccount, UpdateCloudNativeRcvStorageSetting, UpdateCloudNativeStorageSetting, UpdateCustomerAppPermissionForSql, UpdateTarget, UpdateTenantForSubscription, UpgradeCloudAccount, or UpgradeCloudAccountPermissionsWithoutOauth. </summary> <description> New-RscMutationAzure creates a new mutation object for operations in the 'Azure' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 44 operations in the 'Azure' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: AddCloudAccount, AddCloudAccountExocomputeConfigurations, AddCloudAccountWithoutOauth, BackupAdDirectory, CompleteAdAppSetup, CompleteAdAppUpdate, CompleteCloudAccountOauth, CreateAccount, CreateAutomaticTargetMapping, CreateCloudNativeRcvStorageSetting, CreateCloudNativeStorageSetting, CreateCluster, CreateReaderTarget, CreateSaasAppAad, CreateTarget, DeleteAdDirectory, DeleteCloudAccount, DeleteCloudAccountExocomputeConfigurations, DeleteCloudAccountWithoutOauth, ExcludeStorageAccountContainers, MapCloudAccountExocomputeSubscription, MapCloudAccountToPersistentStorageLocation, OauthConsentComplete, OauthConsentKickoff, RestoreAdObjectsWithPasswords, SetCloudAccountCustomerAppCredentials, StartAdAppSetup, StartAdAppUpdate, StartCloudAccountOauth, StartDisableCloudAccountJob, StartExportSqlDatabaseDbJob, StartExportSqlManagedInstanceDbJob, UnmapCloudAccountExocomputeSubscription, UnmapPersistentStorageSubscription, UpdateAccount, UpdateAutomaticTargetMapping, UpdateCloudAccount, UpdateCloudNativeRcvStorageSetting, UpdateCloudNativeStorageSetting, UpdateCustomerAppPermissionForSql, UpdateTarget, UpdateTenantForSubscription, UpgradeCloudAccount, or UpgradeCloudAccountPermissionsWithoutOauth. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAzure -AddCloudAccount).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAzure -AddCloudAccount).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the AddCloudAccount operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: AddCloudAccount $query = New-RscMutationAzure -Operation AddCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED sessionId = $someString # REQUIRED tenantDomainName = $someString # REQUIRED subscriptions = @( @{ # REQUIRED features = @( @{ # OPTIONAL resourceGroup = @{ # REQUIRED name = $someString # OPTIONAL tags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } # REQUIRED region = $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. } # REQUIRED featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) } ) # REQUIRED subscription = @{ # REQUIRED nativeId = $someString # REQUIRED name = $someString } } ) # REQUIRED regions = @( $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. ) # OPTIONAL isAsynchronous = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddAzureCloudAccountReply </code> </example> <example> Runs the AddCloudAccountExocomputeConfigurations operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: AddCloudAccountExocomputeConfigurations $query = New-RscMutationAzure -Operation AddCloudAccountExocomputeConfigurations # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED azureExocomputeRegionConfigs = @( @{ # REQUIRED region = $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. # OPTIONAL subnetNativeId = $someString # REQUIRED isRscManaged = $someBoolean # OPTIONAL podSubnetNativeId = $someString # OPTIONAL podOverlayNetworkCidr = $someString # OPTIONAL optionalConfig = @{ # OPTIONAL aksNodeRgPrefix = $someString # OPTIONAL diskEncryptionAtHost = $someBoolean # OPTIONAL additionalWhitelistIps = @( $someString ) # OPTIONAL enableUserDefinedRouting = $someBoolean # OPTIONAL shouldWhitelistRubrikIps = $someBoolean # OPTIONAL privateDnsZoneId = $someString # OPTIONAL aksClusterTier = $someAKSProvisionTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AKSProvisionTier]) for enum values. # OPTIONAL aksNodeCountBucket = $someAKSNodeCountBucket # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AKSNodeCountBucket]) for enum values. } } ) # OPTIONAL triggerHealthCheck = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddAzureCloudAccountExocomputeConfigurationsReply </code> </example> <example> Runs the AddCloudAccountWithoutOauth operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: AddCloudAccountWithoutOauth $query = New-RscMutationAzure -Operation AddCloudAccountWithoutOauth # REQUIRED $query.Var.input = @{ # REQUIRED tenantDomainName = $someString # REQUIRED subscriptions = @( @{ # REQUIRED features = @( @{ # REQUIRED policyVersion = $someInt # OPTIONAL resourceGroup = @{ # REQUIRED name = $someString # OPTIONAL tags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } # REQUIRED region = $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. } # OPTIONAL specificFeatureInput = @{ # REQUIRED userAssignedManagedIdentityInput = @{ # REQUIRED name = $someString # REQUIRED resourceGroupName = $someString # REQUIRED principalId = $someString # REQUIRED region = $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. } } # REQUIRED featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL permissionsGroups = @( @{ # REQUIRED permissionsGroup = $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. # OPTIONAL version = $someInt } ) } ) # REQUIRED subscription = @{ # REQUIRED nativeId = $someString # REQUIRED name = $someString } } ) # REQUIRED regions = @( $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. ) # OPTIONAL isAsynchronous = $someBoolean # OPTIONAL azureCloudType = $someAzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddAzureCloudAccountWithoutOauthReply </code> </example> <example> Runs the BackupAdDirectory operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: BackupAdDirectory $query = New-RscMutationAzure -Operation BackupAdDirectory # REQUIRED $query.Var.input = @{ # REQUIRED workloadFids = @( $someString ) # OPTIONAL snapshotRetentionSlaId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: List<CreateOnDemandJobReply> </code> </example> <example> Runs the CompleteAdAppSetup operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CompleteAdAppSetup $query = New-RscMutationAzure -Operation CompleteAdAppSetup # REQUIRED $query.Var.input = @{ # REQUIRED domainName = $someString # REQUIRED stateToken = $someString # OPTIONAL kmsSpec = @{ # OPTIONAL cloudType = $someO365AzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.O365AzureCloudType]) for enum values. # OPTIONAL tenantId = $someString # OPTIONAL kmsId = $someString # OPTIONAL appId = $someString # OPTIONAL appSecret = $someString # OPTIONAL keyName = $someString # OPTIONAL kekNameColossus = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CompleteAzureAdAppSetupReply </code> </example> <example> Runs the CompleteAdAppUpdate operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CompleteAdAppUpdate $query = New-RscMutationAzure -Operation CompleteAdAppUpdate # REQUIRED $query.Var.input = @{ # REQUIRED workloadFid = $someString # REQUIRED stateToken = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the CompleteCloudAccountOauth operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CompleteCloudAccountOauth $query = New-RscMutationAzure -Operation CompleteCloudAccountOauth # REQUIRED $query.Var.input = @{ # REQUIRED sessionId = $someString # REQUIRED tenantDomainName = $someString # REQUIRED authorizationCode = $someString # REQUIRED redirectUrl = $someString # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL appId = $someString # OPTIONAL appSecretKey = $someString # REQUIRED shouldSkipPermissionChecks = $someBoolean # OPTIONAL azureCloudType = $someAzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudType]) for enum values. # OPTIONAL resource = $someAzureOauthResource # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureOauthResource]) for enum values. # OPTIONAL performBasicOauth = $someBoolean # OPTIONAL shouldKeepRefreshToken = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CompleteAzureCloudAccountOauthReply </code> </example> <example> Runs the CreateAccount operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateAccount $query = New-RscMutationAzure -Operation CreateAccount # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # OPTIONAL description = $someString # REQUIRED subscriptionId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CloudAccount </code> </example> <example> Runs the CreateAutomaticTargetMapping operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateAutomaticTargetMapping $query = New-RscMutationAzure -Operation CreateAutomaticTargetMapping # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED storageAccountName = $someString # REQUIRED accessKey = $someString # REQUIRED containerNamePrefix = $someString # REQUIRED cloudAccountId = $someString # REQUIRED instanceType = $someInstanceTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InstanceTypeEnum]) for enum values. # REQUIRED rsaKey = $someString # OPTIONAL computeSettings = @{ # OPTIONAL appId = $someString # OPTIONAL appSecretKey = $someString # OPTIONAL region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. # OPTIONAL generalPurposeStorageName = $someString # OPTIONAL generalPurposeStorageContainer = $someString # OPTIONAL resourceGroup = $someString # OPTIONAL virtualNetworkId = $someString # OPTIONAL subnetId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL cloudAccountId = $someString # OPTIONAL subscriptionId = $someString } # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL clusterUuidList = @( $someString ) # REQUIRED isConsolidationEnabled = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: TargetMapping </code> </example> <example> Runs the CreateCloudNativeRcvStorageSetting operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateCloudNativeRcvStorageSetting $query = New-RscMutationAzure -Operation CreateCloudNativeRcvStorageSetting # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. # OPTIONAL rcvRegion = $someRcsRegionEnumType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.RcsRegionEnumType]) for enum values. # OPTIONAL tier = $someAzureStorageTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureStorageTier]) for enum values. # REQUIRED cloudNativeLocTemplateType = $someCloudNativeLocTemplateType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudNativeLocTemplateType]) for enum values. # OPTIONAL redundancy = $someRcvRedundancy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.RcvRedundancy]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateCloudNativeRcvAzureStorageSettingReply </code> </example> <example> Runs the CreateCloudNativeStorageSetting operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateCloudNativeStorageSetting $query = New-RscMutationAzure -Operation CreateCloudNativeStorageSetting # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED cloudAccountId = $someString # REQUIRED storageAccountName = $someString # REQUIRED containerName = $someString # OPTIONAL storageAccountTags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } # OPTIONAL storageAccountRegion = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. # REQUIRED storageTier = $someAzureStorageTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureStorageTier]) for enum values. # REQUIRED redundancy = $someAzureRedundancy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRedundancy]) for enum values. # REQUIRED subscriptionNativeId = $someString # REQUIRED cloudNativeLocTemplateType = $someCloudNativeLocTemplateType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudNativeLocTemplateType]) for enum values. # OPTIONAL cmkInfo = @( @{ # OPTIONAL keyVaultName = $someString # OPTIONAL keyName = $someString # OPTIONAL region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. } ) # OPTIONAL networkAccessType = $someAzureStorageAccountNetworkAccess # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureStorageAccountNetworkAccess]) for enum values. # OPTIONAL azureCloudType = $someAzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateCloudNativeAzureStorageSettingReply </code> </example> <example> Runs the CreateCluster operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateCluster $query = New-RscMutationAzure -Operation CreateCluster # REQUIRED $query.Var.input = @{ # OPTIONAL cloudAccountId = $someString # OPTIONAL isEsType = $someBoolean # OPTIONAL keepClusterOnFailure = $someBoolean # OPTIONAL clusterConfig = @{ # OPTIONAL userEmail = $someString # OPTIONAL adminPassword = $someString # OPTIONAL clusterName = $someString # OPTIONAL numNodes = $someInt # OPTIONAL dnsSearchDomains = @( $someString ) # OPTIONAL dnsNameServers = @( $someString ) # OPTIONAL ntpServers = @( $someString ) # OPTIONAL azureEsConfig = @{ # OPTIONAL storageAccount = $someString # OPTIONAL resourceGroup = $someString # OPTIONAL storageSecret = $someString # OPTIONAL containerName = $someString # OPTIONAL shouldCreateContainer = $someBoolean # OPTIONAL enableImmutability = $someBoolean # OPTIONAL managedIdentity = @{ # OPTIONAL name = $someString # OPTIONAL clientId = $someString # OPTIONAL resourceGroup = $someString } } # OPTIONAL awsEsConfig = @{ # OPTIONAL bucketName = $someString # OPTIONAL shouldCreateBucket = $someBoolean # OPTIONAL enableObjectLock = $someBoolean # OPTIONAL enableImmutability = $someBoolean } # OPTIONAL ociEsConfig = @{ # OPTIONAL bucketName = $someString # OPTIONAL ociNamespace = $someString # OPTIONAL accessKey = $someString # OPTIONAL secretKey = $someString } } # OPTIONAL vmConfig = @{ # OPTIONAL resourceGroup = $someString # OPTIONAL cdmVersion = $someString # OPTIONAL location = $someString # OPTIONAL nodeSizeGb = $someInt # OPTIONAL networkResourceGroup = $someString # OPTIONAL vnetResourceGroup = $someString # OPTIONAL networkSecurityGroup = $someString # OPTIONAL networkSecurityResourceGroup = $someString # OPTIONAL vnet = $someString # OPTIONAL subnet = $someString # OPTIONAL tags = $someString # OPTIONAL vmImage = $someString # OPTIONAL cdmProduct = $someString # OPTIONAL availabilityZone = $someString # OPTIONAL vmType = $someVmType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.VmType]) for enum values. # OPTIONAL instanceType = $someAzureInstanceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureInstanceType]) for enum values. } # OPTIONAL validations = @( $someClusterCreateValidations # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterCreateValidations]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CcProvisionJobReply </code> </example> <example> Runs the CreateReaderTarget operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateReaderTarget $query = New-RscMutationAzure -Operation CreateReaderTarget # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED clusterUuid = $someString # REQUIRED storageAccountName = $someString # REQUIRED accessKey = $someString # REQUIRED containerName = $someString # REQUIRED cloudAccountId = $someString # REQUIRED instanceType = $someInstanceTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InstanceTypeEnum]) for enum values. # OPTIONAL rsaKey = $someString # OPTIONAL computeSettings = @{ # OPTIONAL appId = $someString # OPTIONAL appSecretKey = $someString # OPTIONAL region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. # OPTIONAL generalPurposeStorageName = $someString # OPTIONAL generalPurposeStorageContainer = $someString # OPTIONAL resourceGroup = $someString # OPTIONAL virtualNetworkId = $someString # OPTIONAL subnetId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL cloudAccountId = $someString # OPTIONAL subscriptionId = $someString } # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # REQUIRED isConsolidationEnabled = $someBoolean # OPTIONAL immutabilitySettings = @{ # OPTIONAL lockDurationDays = $someInt } # REQUIRED readerRetrievalMethod = $someReaderRetrievalMethod # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReaderRetrievalMethod]) for enum values. # OPTIONAL retrievalTier = $someAzureRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRetrievalTier]) for enum values. # REQUIRED bypassProxy = $someBoolean # OPTIONAL azureKeyVaultKey = @{ # REQUIRED kmsKeyVaultId = $someString # REQUIRED keyName = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the CreateSaasAppAad operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateSaasAppAad $query = New-RscMutationAzure -Operation CreateSaasAppAad # No variables for this query. # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateAzureSaasAppAadReply </code> </example> <example> Runs the CreateTarget operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: CreateTarget $query = New-RscMutationAzure -Operation CreateTarget # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED name = $someString # REQUIRED storageAccountName = $someString # REQUIRED accessKey = $someString # REQUIRED containerName = $someString # REQUIRED cloudAccountId = $someString # REQUIRED instanceType = $someInstanceTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InstanceTypeEnum]) for enum values. # OPTIONAL rsaKey = $someString # OPTIONAL computeSettings = @{ # OPTIONAL appId = $someString # OPTIONAL appSecretKey = $someString # OPTIONAL region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. # OPTIONAL generalPurposeStorageName = $someString # OPTIONAL generalPurposeStorageContainer = $someString # OPTIONAL resourceGroup = $someString # OPTIONAL virtualNetworkId = $someString # OPTIONAL subnetId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL cloudAccountId = $someString # OPTIONAL subscriptionId = $someString } # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # REQUIRED isConsolidationEnabled = $someBoolean # OPTIONAL immutabilitySettings = @{ # OPTIONAL lockDurationDays = $someInt } # OPTIONAL retrievalTier = $someAzureRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRetrievalTier]) for enum values. # OPTIONAL accessTier = $someAzureStorageTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureStorageTier]) for enum values. # REQUIRED bypassProxy = $someBoolean # OPTIONAL azureKeyVaultKey = @{ # REQUIRED kmsKeyVaultId = $someString # REQUIRED keyName = $someString # REQUIRED keyVersion = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the DeleteAdDirectory operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: DeleteAdDirectory $query = New-RscMutationAzure -Operation DeleteAdDirectory # REQUIRED $query.Var.input = @{ # REQUIRED workloadFid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateOnDemandJobReply </code> </example> <example> Runs the DeleteCloudAccount operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: DeleteCloudAccount $query = New-RscMutationAzure -Operation DeleteCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED sessionId = $someString # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # REQUIRED azureSubscriptionRubrikIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DeleteAzureCloudAccountReply </code> </example> <example> Runs the DeleteCloudAccountExocomputeConfigurations operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: DeleteCloudAccountExocomputeConfigurations $query = New-RscMutationAzure -Operation DeleteCloudAccountExocomputeConfigurations # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DeleteAzureCloudAccountExocomputeConfigurationsReply </code> </example> <example> Runs the DeleteCloudAccountWithoutOauth operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: DeleteCloudAccountWithoutOauth $query = New-RscMutationAzure -Operation DeleteCloudAccountWithoutOauth # REQUIRED $query.Var.input = @{ # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # REQUIRED azureSubscriptionRubrikIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DeleteAzureCloudAccountWithoutOauthReply </code> </example> <example> Runs the ExcludeStorageAccountContainers operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: ExcludeStorageAccountContainers $query = New-RscMutationAzure -Operation ExcludeStorageAccountContainers # REQUIRED $query.Var.input = @{ # REQUIRED storageAccountId = $someString # REQUIRED containers = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the MapCloudAccountExocomputeSubscription operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: MapCloudAccountExocomputeSubscription $query = New-RscMutationAzure -Operation MapCloudAccountExocomputeSubscription # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountIds = @( $someString ) # REQUIRED exocomputeCloudAccountId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MapAzureCloudAccountExocomputeSubscriptionReply </code> </example> <example> Runs the MapCloudAccountToPersistentStorageLocation operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: MapCloudAccountToPersistentStorageLocation $query = New-RscMutationAzure -Operation MapCloudAccountToPersistentStorageLocation # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountIds = @( $someString ) # REQUIRED persistentStorageId = $someString # REQUIRED azureNativeProtectionFeature = $someAzureNativeProtectionFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureNativeProtectionFeature]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MapAzureCloudAccountToPersistentStorageLocationReply </code> </example> <example> Runs the OauthConsentComplete operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: OauthConsentComplete $query = New-RscMutationAzure -Operation OauthConsentComplete # REQUIRED $query.Var.input = @{ # REQUIRED tenantId = $someString # REQUIRED code = $someString # REQUIRED stateToken = $someString # REQUIRED redirectUrl = $someString # OPTIONAL azureAppId = $someString # OPTIONAL azureAppSecret = $someString # REQUIRED azureCloudType = $someO365AzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.O365AzureCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RequestStatus </code> </example> <example> Runs the OauthConsentKickoff operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: OauthConsentKickoff $query = New-RscMutationAzure -Operation OauthConsentKickoff # No variables for this query. # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AzureOauthConsentKickoffReply </code> </example> <example> Runs the RestoreAdObjectsWithPasswords operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: RestoreAdObjectsWithPasswords $query = New-RscMutationAzure -Operation RestoreAdObjectsWithPasswords # REQUIRED $query.Var.input = @{ # REQUIRED workloadFid = $someString # REQUIRED snapshotFid = $someString # REQUIRED passwordByUserIdMap = @( @{ # REQUIRED userId = $someString # REQUIRED password = $someString } ) # REQUIRED objectTypeToIdMap = @( @{ # REQUIRED objectId = $someString # REQUIRED azureAdObjectType = $someAzureAdObjectType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureAdObjectType]) for enum values. } ) # REQUIRED forceChangePasswordWithMfa = $someBoolean # REQUIRED relationshipRestoreMode = $someAzureAdRelationshipRestoreModeEnumType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureAdRelationshipRestoreModeEnumType]) for enum values. # OPTIONAL objectRecoveryOptions = @{ # OPTIONAL servicePrincipalRecoveryOption = @{ # REQUIRED recoverLinkedApplication = $someBoolean } # OPTIONAL applicationRecoveryOption = @{ # REQUIRED recoverLinkedServicePrincipal = $someBoolean } # OPTIONAL userRecoveryOption = @{ # REQUIRED generatePasswords = $someBoolean } # OPTIONAL conditionalAccessPolicyRecoveryOption = @{ # REQUIRED policyConfigs = @( @{ # REQUIRED id = $someString # OPTIONAL exportedPolicyName = $someString # REQUIRED recoveryState = $someAzureAdConditionalAccessPolicyStateEnumType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureAdConditionalAccessPolicyStateEnumType]) for enum values. # OPTIONAL recoveryMethod = $someAzureAdConditionalAccessPolicyRecoveryType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureAdConditionalAccessPolicyRecoveryType]) for enum values. } ) } # OPTIONAL administrativeUnitRecoveryOption = @{ # REQUIRED skipRestrictedManagementAdministrativeUnits = $someBoolean } } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RestoreAzureAdObjectsWithPasswordsReply </code> </example> <example> Runs the SetCloudAccountCustomerAppCredentials operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: SetCloudAccountCustomerAppCredentials $query = New-RscMutationAzure -Operation SetCloudAccountCustomerAppCredentials # REQUIRED $query.Var.input = @{ # REQUIRED appId = $someString # REQUIRED appSecretKey = $someString # OPTIONAL appTenantId = $someString # OPTIONAL appName = $someString # OPTIONAL tenantDomainName = $someString # REQUIRED shouldReplace = $someBoolean # REQUIRED azureCloudType = $someAzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the StartAdAppSetup operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: StartAdAppSetup $query = New-RscMutationAzure -Operation StartAdAppSetup # REQUIRED $query.Var.input = @{ # REQUIRED domainName = $someString # REQUIRED region = $someAzureAdRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureAdRegion]) for enum values. # OPTIONAL azureAdApp = @{ # OPTIONAL clientId = $someString # OPTIONAL clientSecret = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: StartAzureAdAppSetupReply </code> </example> <example> Runs the StartAdAppUpdate operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: StartAdAppUpdate $query = New-RscMutationAzure -Operation StartAdAppUpdate # REQUIRED $query.Var.input = @{ # REQUIRED workloadFid = $someString # OPTIONAL azureAdApp = @{ # OPTIONAL clientId = $someString # OPTIONAL clientSecret = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: StartAzureAdAppUpdateReply </code> </example> <example> Runs the StartCloudAccountOauth operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: StartCloudAccountOauth $query = New-RscMutationAzure -Operation StartCloudAccountOauth # REQUIRED $query.Var.input = @{ # OPTIONAL tenantDomainName = $someString # OPTIONAL azureCloudType = $someAzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: StartAzureCloudAccountOauthReply </code> </example> <example> Runs the StartDisableCloudAccountJob operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: StartDisableCloudAccountJob $query = New-RscMutationAzure -Operation StartDisableCloudAccountJob # REQUIRED $query.Var.input = @{ # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # REQUIRED cloudAccountIds = @( $someString ) # OPTIONAL sessionId = $someString # OPTIONAL deleteSnapshots = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartExportSqlDatabaseDbJob operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: StartExportSqlDatabaseDbJob $query = New-RscMutationAzure -Operation StartExportSqlDatabaseDbJob # REQUIRED $query.Var.input = @{ # REQUIRED sourceDatabaseRubrikId = $someString # REQUIRED destinationDatabaseName = $someString # OPTIONAL destinationServerRubrikId = $someString # OPTIONAL elasticPoolName = $someString # REQUIRED shouldExportTags = $someBoolean # OPTIONAL azureSqlDatabaseDbPitExportInput = @{ # REQUIRED restorePointInTime = $someDateTime # OPTIONAL dbBackupRedundancy = $someAzureSqlBackupStorageRedundancyType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureSqlBackupStorageRedundancyType]) for enum values. } # OPTIONAL azureSqlDatabaseDbLtrExportInput = @{ # REQUIRED sourceSnapshotRubrikId = $someString # REQUIRED destinationResourceGroupName = $someString # REQUIRED destinationServerName = $someString # REQUIRED destinationRegionName = $someString # OPTIONAL dbBackupRedundancy = $someAzureSqlBackupStorageRedundancyType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureSqlBackupStorageRedundancyType]) for enum values. } # OPTIONAL persistentBackupExportInput = @{ # REQUIRED sourceSnapshotRubrikId = $someString # OPTIONAL destinationServerCredentials = @{ # REQUIRED login = $someString # REQUIRED password = $someString } # OPTIONAL authMechanism = $someSqlAuthenticationMechanism # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SqlAuthenticationMechanism]) for enum values. # OPTIONAL sessionId = $someString # OPTIONAL dbBackupRedundancy = $someAzureSqlBackupStorageRedundancyType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureSqlBackupStorageRedundancyType]) for enum values. } # OPTIONAL serviceTier = $someString # OPTIONAL serviceObjectiveName = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the StartExportSqlManagedInstanceDbJob operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: StartExportSqlManagedInstanceDbJob $query = New-RscMutationAzure -Operation StartExportSqlManagedInstanceDbJob # REQUIRED $query.Var.input = @{ # REQUIRED sourceManagedInstanceDatabaseRubrikId = $someString # OPTIONAL destinationManagedInstanceRubrikId = $someString # REQUIRED destinationDatabaseName = $someString # REQUIRED destinationManagedInstanceName = $someString # REQUIRED destinationResourceGroupName = $someString # OPTIONAL azureSqlManagedInstanceDbPitExportInput = @{ # REQUIRED restorePointInTime = $someDateTime } # OPTIONAL azureSqlManagedInstanceDbLtrExportInput = @{ # REQUIRED sourceSnapshotRubrikId = $someString # REQUIRED destinationRegionName = $someString } # OPTIONAL persistentBackupExportInput = @{ # REQUIRED sourceSnapshotRubrikId = $someString # OPTIONAL destinationServerCredentials = @{ # REQUIRED login = $someString # REQUIRED password = $someString } # OPTIONAL authMechanism = $someSqlAuthenticationMechanism # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SqlAuthenticationMechanism]) for enum values. # OPTIONAL sessionId = $someString # OPTIONAL dbBackupRedundancy = $someAzureSqlBackupStorageRedundancyType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureSqlBackupStorageRedundancyType]) for enum values. } # OPTIONAL serviceTier = $someString # OPTIONAL serviceObjectiveName = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the UnmapCloudAccountExocomputeSubscription operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UnmapCloudAccountExocomputeSubscription $query = New-RscMutationAzure -Operation UnmapCloudAccountExocomputeSubscription # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UnmapAzureCloudAccountExocomputeSubscriptionReply </code> </example> <example> Runs the UnmapPersistentStorageSubscription operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UnmapPersistentStorageSubscription $query = New-RscMutationAzure -Operation UnmapPersistentStorageSubscription # REQUIRED $query.Var.input = @{ # REQUIRED applicationCloudAccountIds = @( $someString ) # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # REQUIRED unmappingValidationType = $someUnmappingValidationType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UnmappingValidationType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateAccount operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateAccount $query = New-RscMutationAzure -Operation UpdateAccount # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL description = $someString # OPTIONAL subscriptionId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CloudAccount </code> </example> <example> Runs the UpdateAutomaticTargetMapping operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateAutomaticTargetMapping $query = New-RscMutationAzure -Operation UpdateAutomaticTargetMapping # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL storageAccountName = $someString # OPTIONAL accessKey = $someString # OPTIONAL cloudAccountId = $someString # OPTIONAL computeSettings = @{ # OPTIONAL appId = $someString # OPTIONAL appSecretKey = $someString # OPTIONAL region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. # OPTIONAL generalPurposeStorageName = $someString # OPTIONAL generalPurposeStorageContainer = $someString # OPTIONAL resourceGroup = $someString # OPTIONAL virtualNetworkId = $someString # OPTIONAL subnetId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL cloudAccountId = $someString # OPTIONAL subscriptionId = $someString } # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL clusterUuidList = @( $someString ) # OPTIONAL isConsolidationEnabled = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: TargetMapping </code> </example> <example> Runs the UpdateCloudAccount operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateCloudAccount $query = New-RscMutationAzure -Operation UpdateCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED subscriptions = @( @{ # OPTIONAL id = $someString # OPTIONAL name = $someString } ) # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL regionsToAdd = @( $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. ) # OPTIONAL regionsToRemove = @( $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateAzureCloudAccountReply </code> </example> <example> Runs the UpdateCloudNativeRcvStorageSetting operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateCloudNativeRcvStorageSetting $query = New-RscMutationAzure -Operation UpdateCloudNativeRcvStorageSetting # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED name = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateCloudNativeRcvAzureStorageSettingReply </code> </example> <example> Runs the UpdateCloudNativeStorageSetting operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateCloudNativeStorageSetting $query = New-RscMutationAzure -Operation UpdateCloudNativeStorageSetting # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED name = $someString # REQUIRED storageAccountTags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } # REQUIRED storageTier = $someAzureStorageTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureStorageTier]) for enum values. # OPTIONAL cmkInfo = @( @{ # OPTIONAL keyVaultName = $someString # OPTIONAL keyName = $someString # OPTIONAL region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. } ) # OPTIONAL networkAccessType = $someAzureStorageAccountNetworkAccess # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureStorageAccountNetworkAccess]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateCloudNativeAzureStorageSettingReply </code> </example> <example> Runs the UpdateCustomerAppPermissionForSql operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateCustomerAppPermissionForSql $query = New-RscMutationAzure -Operation UpdateCustomerAppPermissionForSql # No variables for this query. # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateTarget operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateTarget $query = New-RscMutationAzure -Operation UpdateTarget # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL storageAccountName = $someString # OPTIONAL accessKey = $someString # OPTIONAL cloudAccountId = $someString # OPTIONAL computeSettings = @{ # OPTIONAL appId = $someString # OPTIONAL appSecretKey = $someString # OPTIONAL region = $someAzureRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRegion]) for enum values. # OPTIONAL generalPurposeStorageName = $someString # OPTIONAL generalPurposeStorageContainer = $someString # OPTIONAL resourceGroup = $someString # OPTIONAL virtualNetworkId = $someString # OPTIONAL subnetId = $someString # OPTIONAL securityGroupId = $someString # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL cloudAccountId = $someString # OPTIONAL subscriptionId = $someString } # OPTIONAL computeProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL proxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL isConsolidationEnabled = $someBoolean # OPTIONAL immutabilitySettings = @{ # OPTIONAL lockDurationDays = $someInt } # OPTIONAL retrievalTier = $someAzureRetrievalTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureRetrievalTier]) for enum values. # OPTIONAL accessTier = $someAzureStorageTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureStorageTier]) for enum values. # REQUIRED bypassProxy = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the UpdateTenantForSubscription operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpdateTenantForSubscription $query = New-RscMutationAzure -Operation UpdateTenantForSubscription # REQUIRED $query.Var.input = @{ # REQUIRED customerSubscriptionId = $someString # REQUIRED tenantDomainName = $someString # REQUIRED cloudType = $someAzureCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpgradeCloudAccount operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpgradeCloudAccount $query = New-RscMutationAzure -Operation UpgradeCloudAccount # REQUIRED $query.Var.input = @{ # REQUIRED sessionId = $someString # OPTIONAL features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) # OPTIONAL featuresToUpgrade = @( @{ # REQUIRED featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # REQUIRED permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) # OPTIONAL resourceGroup = @{ # REQUIRED name = $someString # OPTIONAL tags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } # REQUIRED region = $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. } } ) # REQUIRED azureSubscriptionRubrikIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpgradeAzureCloudAccountReply </code> </example> <example> Runs the UpgradeCloudAccountPermissionsWithoutOauth operation of the 'Azure' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Azure # API Operation: UpgradeCloudAccountPermissionsWithoutOauth $query = New-RscMutationAzure -Operation UpgradeCloudAccountPermissionsWithoutOauth # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # OPTIONAL feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL featureToUpgrade = @( @{ # REQUIRED featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # REQUIRED permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) # OPTIONAL resourceGroup = @{ # REQUIRED name = $someString # OPTIONAL tags = @{ # REQUIRED tagList = @( @{ # REQUIRED key = $someString # REQUIRED value = $someString } ) } # REQUIRED region = $someAzureCloudAccountRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureCloudAccountRegion]) for enum values. } } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpgradeAzureCloudAccountPermissionsWithoutOauthReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationAzureNative"> <summary> Create a new RscQuery object for any of the 8 operations in the 'Azure Native' API domain: ExcludeManagedDisksFromSnapshot, StartCreateManagedDiskSnapshotsJob, StartCreateVirtualMachineSnapshotsJob, StartDisableSubscriptionProtectionJob, StartExportManagedDiskJob, StartExportVirtualMachineJob, StartRefreshSubscriptionsJob, or StartRestoreVirtualMachineJob. </summary> <description> New-RscMutationAzureNative creates a new mutation object for operations in the 'Azure Native' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 8 operations in the 'Azure Native' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: ExcludeManagedDisksFromSnapshot, StartCreateManagedDiskSnapshotsJob, StartCreateVirtualMachineSnapshotsJob, StartDisableSubscriptionProtectionJob, StartExportManagedDiskJob, StartExportVirtualMachineJob, StartRefreshSubscriptionsJob, or StartRestoreVirtualMachineJob. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAzureNative -ExcludeManagedDisksFromSnapshot).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAzureNative -ExcludeManagedDisksFromSnapshot).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the ExcludeManagedDisksFromSnapshot operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: ExcludeManagedDisksFromSnapshot $query = New-RscMutationAzureNative -Operation ExcludeManagedDisksFromSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED virtualMachineRubrikId = $someString # REQUIRED managedDiskExclusions = @( @{ # REQUIRED managedDiskRubrikId = $someString # REQUIRED isExcludedFromSnapshot = $someBoolean } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the StartCreateManagedDiskSnapshotsJob operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: StartCreateManagedDiskSnapshotsJob $query = New-RscMutationAzureNative -Operation StartCreateManagedDiskSnapshotsJob # REQUIRED $query.Var.input = @{ # REQUIRED managedDiskRubrikIds = @( $someString ) # OPTIONAL retentionSlaId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartCreateVirtualMachineSnapshotsJob operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: StartCreateVirtualMachineSnapshotsJob $query = New-RscMutationAzureNative -Operation StartCreateVirtualMachineSnapshotsJob # REQUIRED $query.Var.input = @{ # REQUIRED virtualMachineRubrikIds = @( $someString ) # OPTIONAL retentionSlaId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartDisableSubscriptionProtectionJob operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: StartDisableSubscriptionProtectionJob $query = New-RscMutationAzureNative -Operation StartDisableSubscriptionProtectionJob # REQUIRED $query.Var.input = @{ # REQUIRED azureSubscriptionRubrikId = $someString # REQUIRED shouldDeleteNativeSnapshots = $someBoolean # REQUIRED azureNativeProtectionFeature = $someAzureNativeProtectionFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureNativeProtectionFeature]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the StartExportManagedDiskJob operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: StartExportManagedDiskJob $query = New-RscMutationAzureNative -Operation StartExportManagedDiskJob # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED diskName = $someString # OPTIONAL diskEncryptionSetNativeId = $someString # REQUIRED diskStorageTier = $someAzureNativeManagedDiskType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureNativeManagedDiskType]) for enum values. # REQUIRED diskSize = $someInt # REQUIRED resourceGroup = $someString # REQUIRED destinationRegion = $someAzureNativeRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureNativeRegion]) for enum values. # OPTIONAL destinationAvailabilityZone = $someString # OPTIONAL destinationSubscriptionRubrikId = $someString # REQUIRED shouldExportTags = $someBoolean # REQUIRED shouldReplaceAttachedManagedDisk = $someBoolean # OPTIONAL shouldUseReplica = $someBoolean # OPTIONAL snapshotType = $someAzureSnapshotType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureSnapshotType]) for enum values. # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the StartExportVirtualMachineJob operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: StartExportVirtualMachineJob $query = New-RscMutationAzureNative -Operation StartExportVirtualMachineJob # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED virtualMachineName = $someString # OPTIONAL diskEncryptionSetNativeId = $someString # REQUIRED resourceGroupName = $someString # REQUIRED destinationRegion = $someAzureNativeRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureNativeRegion]) for enum values. # OPTIONAL destinationAvailabilityZone = $someString # OPTIONAL destinationSubscriptionRubrikId = $someString # REQUIRED virtualMachineSize = $someString # REQUIRED subnetNativeId = $someString # OPTIONAL networkSecurityGroupNativeId = $someString # REQUIRED shouldExportTags = $someBoolean # REQUIRED shouldPowerOff = $someBoolean # OPTIONAL shouldUseReplica = $someBoolean # OPTIONAL availabilitySetNativeId = $someString # OPTIONAL shouldEnableAcceleratedNetworking = $someBoolean # OPTIONAL snapshotType = $someAzureSnapshotType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureSnapshotType]) for enum values. # OPTIONAL recoveryDiskIds = @( $someString ) # OPTIONAL archivedSnapshotId = $someString # OPTIONAL destinationKeyVaultName = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the StartRefreshSubscriptionsJob operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: StartRefreshSubscriptionsJob $query = New-RscMutationAzureNative -Operation StartRefreshSubscriptionsJob # REQUIRED $query.Var.input = @{ # REQUIRED azureSubscriptionRubrikIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartRestoreVirtualMachineJob operation of the 'Azure Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureNative # API Operation: StartRestoreVirtualMachineJob $query = New-RscMutationAzureNative -Operation StartRestoreVirtualMachineJob # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED shouldPowerOn = $someBoolean # REQUIRED shouldRestoreTags = $someBoolean # OPTIONAL snapshotTypeToUseIfSourceExpired = $someSnapshotTypeForRestoreIfSourceExpired # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SnapshotTypeForRestoreIfSourceExpired]) for enum values. # OPTIONAL recoveryDiskIds = @( $someString ) # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationAzureO365"> <summary> Create a new RscQuery object for any of the 1 operations in the 'Azure Office365' API domain: ['SetupExocompute']. </summary> <description> New-RscMutationAzureO365 creates a new mutation object for operations in the 'Azure Office365' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 1 operations in the 'Azure Office365' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: ['SetupExocompute']. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAzureO365 -SetupExocompute).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationAzureO365 -SetupExocompute).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the SetupExocompute operation of the 'Azure Office365' API domain. <code> PS > # Create an RscQuery object for: # API Domain: AzureO365 # API Operation: SetupExocompute $query = New-RscMutationAzureO365 -Operation SetupExocompute # REQUIRED $query.Var.tenantId = $someString # REQUIRED $query.Var.subscriptionId = $someString # REQUIRED $query.Var.exocomputeConfig = @{ # REQUIRED regionName = $someString # OPTIONAL newGroupConfig = @{ # OPTIONAL name = $someString # OPTIONAL failoverGroupId = $someString } # OPTIONAL existingGroupConfig = @{ # OPTIONAL name = $someString # OPTIONAL failoverGroupId = $someString } # OPTIONAL newComputeConfig = @{ # OPTIONAL vnetName = $someString # OPTIONAL subnetName = $someString # OPTIONAL securityGroupName = $someString # OPTIONAL failoverVnetName = $someString # OPTIONAL failoverSubnetName = $someString # OPTIONAL failoverSecurityGroupName = $someString } # OPTIONAL existingComputeConfig = @{ # OPTIONAL vnetId = $someString # OPTIONAL subnetId = $someString } # OPTIONAL newStorageAccountConfig = @{ # OPTIONAL name = $someString # OPTIONAL tier = $someStorageAccountTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.StorageAccountTier]) for enum values. # OPTIONAL sku = $someStorageAccountSku # Call [Enum]::GetValues([RubrikSecurityCloud.Types.StorageAccountSku]) for enum values. # OPTIONAL storages = @( @{ # OPTIONAL name = $someString # OPTIONAL tier = $someStorageAccountTier # Call [Enum]::GetValues([RubrikSecurityCloud.Types.StorageAccountTier]) for enum values. # OPTIONAL sku = $someStorageAccountSku # Call [Enum]::GetValues([RubrikSecurityCloud.Types.StorageAccountSku]) for enum values. # OPTIONAL containerImmutabilityStatus = $someColossusStorageContainerImmutabilityStatus # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ColossusStorageContainerImmutabilityStatus]) for enum values. # OPTIONAL versioningEnabled = $someBoolean } ) } # OPTIONAL existingStorageAccountConfig = @{ # OPTIONAL id = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: SetupAzureO365ExocomputeResp </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationCassandra"> <summary> Create a new RscQuery object for any of the 5 operations in the 'Cassandra' API domain: BulkDeleteSources, CreateSource, DeleteSource, RecoverSource, or UpdateSource. </summary> <description> New-RscMutationCassandra creates a new mutation object for operations in the 'Cassandra' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 5 operations in the 'Cassandra' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: BulkDeleteSources, CreateSource, DeleteSource, RecoverSource, or UpdateSource. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCassandra -BulkDeleteSources).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCassandra -BulkDeleteSources).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the BulkDeleteSources operation of the 'Cassandra' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cassandra # API Operation: BulkDeleteSources $query = New-RscMutationCassandra -Operation BulkDeleteSources # REQUIRED $query.Var.input = @{ # OPTIONAL sourceType = $someV2BulkDeleteMosaicSourcesRequestSourceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.V2BulkDeleteMosaicSourcesRequestSourceType]) for enum values. # REQUIRED clusterUuid = $someString # REQUIRED sourceData = @{ # OPTIONAL async = $someBoolean # REQUIRED sourceNames = @( $someString ) } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MosaicAsyncResponse </code> </example> <example> Runs the CreateSource operation of the 'Cassandra' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cassandra # API Operation: CreateSource $query = New-RscMutationCassandra -Operation CreateSource # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED sourceData = @{ # OPTIONAL async = $someBoolean # OPTIONAL cassandraYaml = @( $someString ) # OPTIONAL dseYaml = @( $someString ) # OPTIONAL enableSsl = $someBoolean # OPTIONAL httpsCertificate = $someString # OPTIONAL ignoreSecondaries = @( $someString ) # OPTIONAL jmxPassword = $someString # OPTIONAL jmxUser = $someString # OPTIONAL parameterEncoded = $someBoolean # OPTIONAL sourceAuthKey = $someString # OPTIONAL sourceAuthKeyfile = $someString # OPTIONAL sourceAuthPassphrase = $someString # OPTIONAL sourceDriverPassword = $someString # OPTIONAL sourceDriverUser = $someString # OPTIONAL sourceHttpsPort = $someString # OPTIONAL sourcePassword = $someString # OPTIONAL sourcePort = $someString # OPTIONAL sourceRpcPort = $someString # OPTIONAL sourceSshPort = $someString # OPTIONAL sourceUser = $someString # OPTIONAL sslCaCerts = $someString # OPTIONAL sslCertfile = $someString # OPTIONAL sslKeyfile = $someString # REQUIRED sourceType = $someSourceSourceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SourceSourceType]) for enum values. # OPTIONAL sslCertReqs = $someSourceSslCertReqs # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SourceSslCertReqs]) for enum values. # REQUIRED sourceIp = @( $someString ) # REQUIRED sourceName = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MosaicAsyncResponse </code> </example> <example> Runs the DeleteSource operation of the 'Cassandra' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cassandra # API Operation: DeleteSource $query = New-RscMutationCassandra -Operation DeleteSource # REQUIRED $query.Var.input = @{ # OPTIONAL sourceType = $someV2DeleteMosaicSourceRequestSourceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.V2DeleteMosaicSourceRequestSourceType]) for enum values. # REQUIRED clusterUuid = $someString # REQUIRED sourceName = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MosaicAsyncResponse </code> </example> <example> Runs the RecoverSource operation of the 'Cassandra' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cassandra # API Operation: RecoverSource $query = New-RscMutationCassandra -Operation RecoverSource # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED recoveryData = @{ # OPTIONAL destinationSourceName = $someString # OPTIONAL keyspaceConfig = $someString # OPTIONAL maxDiskUsage = $someString # OPTIONAL restoreDbUserPwd = $someString # OPTIONAL restoreDbUsername = $someString # OPTIONAL startTimestamp = $someInt # OPTIONAL targetEncryptionKey = $someString # OPTIONAL targetQuery = $someString # OPTIONAL sourceType = $someMosaicRetrieveRequestSourceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.MosaicRetrieveRequestSourceType]) for enum values. # OPTIONAL destinationManagementObjects = @{ # OPTIONAL databases = @( @{ # OPTIONAL dbName = $someString # OPTIONAL tables = @( $someString ) } ) } # REQUIRED destinationPath = $someString # REQUIRED managementObjects = @{ # OPTIONAL databases = @( @{ # OPTIONAL dbName = $someString # OPTIONAL tables = @( $someString ) } ) } # REQUIRED parameterEncoded = $someBoolean # REQUIRED sourceName = $someString # REQUIRED versionTime = $someInt } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MosaicAsyncResponse </code> </example> <example> Runs the UpdateSource operation of the 'Cassandra' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cassandra # API Operation: UpdateSource $query = New-RscMutationCassandra -Operation UpdateSource # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED sourceData = @{ # OPTIONAL async = $someBoolean # OPTIONAL cassandraYaml = @( $someString ) # OPTIONAL dseYaml = @( $someString ) # OPTIONAL enableSsl = $someBoolean # OPTIONAL httpsCertificate = $someString # OPTIONAL ignoreSecondaries = @( $someString ) # OPTIONAL jmxPassword = $someString # OPTIONAL jmxUser = $someString # OPTIONAL parameterEncoded = $someBoolean # OPTIONAL sourceAuthKey = $someString # OPTIONAL sourceAuthKeyfile = $someString # OPTIONAL sourceAuthPassphrase = $someString # OPTIONAL sourceDriverPassword = $someString # OPTIONAL sourceDriverUser = $someString # OPTIONAL sourceHttpsPort = $someString # OPTIONAL sourcePassword = $someString # OPTIONAL sourcePort = $someString # OPTIONAL sourceRpcPort = $someString # OPTIONAL sourceSshPort = $someString # OPTIONAL sourceUser = $someString # OPTIONAL sslCaCerts = $someString # OPTIONAL sslCertfile = $someString # OPTIONAL sslKeyfile = $someString # REQUIRED sourceType = $someSourceSourceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SourceSourceType]) for enum values. # OPTIONAL sslCertReqs = $someSourceSslCertReqs # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SourceSslCertReqs]) for enum values. # REQUIRED sourceIp = @( $someString ) # REQUIRED sourceName = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MosaicAsyncResponse </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationCertificate"> <summary> Create a new RscQuery object for any of the 12 operations in the 'Certificates' API domain: AddClusterCertificate, AddGlobalCertificate, Delete, DeleteCsr, DeleteGlobalCertificate, GenerateCsr, MarkAgentSecondary, SetSso, SetWebSigned, Update, UpdateGlobalCertificate, or UpdateHost. </summary> <description> New-RscMutationCertificate creates a new mutation object for operations in the 'Certificates' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 12 operations in the 'Certificates' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: AddClusterCertificate, AddGlobalCertificate, Delete, DeleteCsr, DeleteGlobalCertificate, GenerateCsr, MarkAgentSecondary, SetSso, SetWebSigned, Update, UpdateGlobalCertificate, or UpdateHost. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCertificate -AddClusterCertificate).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCertificate -AddClusterCertificate).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the AddClusterCertificate operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: AddClusterCertificate $query = New-RscMutationCertificate -Operation AddClusterCertificate # REQUIRED $query.Var.input = @{ # REQUIRED certImportRequest = @{ # OPTIONAL csrId = $someString # OPTIONAL description = $someString # OPTIONAL privateKey = $someString # OPTIONAL isTrusted = $someBoolean # REQUIRED name = $someString # REQUIRED pemFile = $someString } # REQUIRED clusterUuid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddClusterCertificateReply </code> </example> <example> Runs the AddGlobalCertificate operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: AddGlobalCertificate $query = New-RscMutationCertificate -Operation AddGlobalCertificate # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # OPTIONAL description = $someString # OPTIONAL privateKey = $someString # REQUIRED certificate = $someString # OPTIONAL clusters = @( @{ # REQUIRED clusterUuid = $someString # REQUIRED isTrusted = $someBoolean } ) # OPTIONAL csrFid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddGlobalCertificateReply </code> </example> <example> Runs the Delete operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: Delete $query = New-RscMutationCertificate -Operation Delete # REQUIRED $query.Var.certificateId = $someInt64 # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the DeleteCsr operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: DeleteCsr $query = New-RscMutationCertificate -Operation DeleteCsr # REQUIRED $query.Var.input = @{ # REQUIRED csrFids = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DeleteGlobalCertificate operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: DeleteGlobalCertificate $query = New-RscMutationCertificate -Operation DeleteGlobalCertificate # REQUIRED $query.Var.input = @{ # REQUIRED certificateId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DeleteGlobalCertificateReply </code> </example> <example> Runs the GenerateCsr operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: GenerateCsr $query = New-RscMutationCertificate -Operation GenerateCsr # REQUIRED $query.Var.name = $someString # REQUIRED $query.Var.hostnames = @( $someString ) # OPTIONAL $query.Var.organization = $someString # OPTIONAL $query.Var.organizationUnit = $someString # OPTIONAL $query.Var.country = $someString # OPTIONAL $query.Var.state = $someString # OPTIONAL $query.Var.city = $someString # OPTIONAL $query.Var.email = $someString # OPTIONAL $query.Var.surname = $someString # OPTIONAL $query.Var.userId = $someString # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Csr </code> </example> <example> Runs the MarkAgentSecondary operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: MarkAgentSecondary $query = New-RscMutationCertificate -Operation MarkAgentSecondary # REQUIRED $query.Var.input = @{ # REQUIRED certId = $someString # REQUIRED clusterUuid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MarkAgentSecondaryCertificateReply </code> </example> <example> Runs the SetSso operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: SetSso $query = New-RscMutationCertificate -Operation SetSso # REQUIRED $query.Var.input = @{ # REQUIRED certificateType = $someSsoCertificateType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SsoCertificateType]) for enum values. # REQUIRED certificateId = $someInt # OPTIONAL certificateFid = $someString # OPTIONAL useDefaultCert = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the SetWebSigned operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: SetWebSigned $query = New-RscMutationCertificate -Operation SetWebSigned # REQUIRED $query.Var.input = @{ # REQUIRED certificatePayload = @{ # REQUIRED certificateId = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the Update operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: Update $query = New-RscMutationCertificate -Operation Update # REQUIRED $query.Var.certificateId = $someInt64 # OPTIONAL $query.Var.name = $someString # OPTIONAL $query.Var.description = $someString # OPTIONAL $query.Var.certificate = $someString # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the UpdateGlobalCertificate operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: UpdateGlobalCertificate $query = New-RscMutationCertificate -Operation UpdateGlobalCertificate # REQUIRED $query.Var.input = @{ # REQUIRED certificateId = $someString # OPTIONAL name = $someString # OPTIONAL description = $someString # REQUIRED clusters = @( @{ # REQUIRED clusterUuid = $someString # REQUIRED isTrusted = $someBoolean } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateGlobalCertificateReply </code> </example> <example> Runs the UpdateHost operation of the 'Certificates' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Certificate # API Operation: UpdateHost $query = New-RscMutationCertificate -Operation UpdateHost # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateCertificateHostReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationCloudAccount"> <summary> Create a new RscQuery object for any of the 2 operations in the 'Cloud Account' API domain: MapExocomputeAccount, or UnmapExocomputeAccount. </summary> <description> New-RscMutationCloudAccount creates a new mutation object for operations in the 'Cloud Account' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 2 operations in the 'Cloud Account' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: MapExocomputeAccount, or UnmapExocomputeAccount. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCloudAccount -MapExocomputeAccount).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCloudAccount -MapExocomputeAccount).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the MapExocomputeAccount operation of the 'Cloud Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudAccount # API Operation: MapExocomputeAccount $query = New-RscMutationCloudAccount -Operation MapExocomputeAccount # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountIds = @( $someString ) # REQUIRED exocomputeCloudAccountId = $someString # REQUIRED cloudVendor = $someCloudVendor # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudVendor]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: MapCloudAccountExocomputeAccountReply </code> </example> <example> Runs the UnmapExocomputeAccount operation of the 'Cloud Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudAccount # API Operation: UnmapExocomputeAccount $query = New-RscMutationCloudAccount -Operation UnmapExocomputeAccount # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountIds = @( $someString ) # REQUIRED cloudVendor = $someCloudVendor # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudVendor]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UnmapCloudAccountExocomputeAccountReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationCloudNative"> <summary> Create a new RscQuery object for any of the 14 operations in the 'Cloud Native' API domain: AddSqlServerBackupCredentials, CheckRbaConnectivity, ClearSqlServerBackupCredentials, CreateLabelRule, CreateTagRule, DeleteLabelRule, DeleteTagRule, DownloadFiles, SetupSqlServerBackup, StartSnapshotsIndexJob, UpdateIndexingStatus, UpdateLabelRule, UpdateRootThreatMonitoringEnablement, or UpdateTagRule. </summary> <description> New-RscMutationCloudNative creates a new mutation object for operations in the 'Cloud Native' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 14 operations in the 'Cloud Native' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: AddSqlServerBackupCredentials, CheckRbaConnectivity, ClearSqlServerBackupCredentials, CreateLabelRule, CreateTagRule, DeleteLabelRule, DeleteTagRule, DownloadFiles, SetupSqlServerBackup, StartSnapshotsIndexJob, UpdateIndexingStatus, UpdateLabelRule, UpdateRootThreatMonitoringEnablement, or UpdateTagRule. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCloudNative -AddSqlServerBackupCredentials).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCloudNative -AddSqlServerBackupCredentials).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the AddSqlServerBackupCredentials operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: AddSqlServerBackupCredentials $query = New-RscMutationCloudNative -Operation AddSqlServerBackupCredentials # REQUIRED $query.Var.input = @{ # REQUIRED objectIds = @( $someString ) # REQUIRED workloadType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. # REQUIRED backupCredentials = @{ # REQUIRED login = $someString # REQUIRED password = $someString } # OPTIONAL logicAppName = $someString # OPTIONAL logicAppApiKey = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddCloudNativeSqlServerBackupCredentialsReply </code> </example> <example> Runs the CheckRbaConnectivity operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: CheckRbaConnectivity $query = New-RscMutationCloudNative -Operation CheckRbaConnectivity # REQUIRED $query.Var.input = @{ # REQUIRED workloadIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CloudNativeCheckRbaConnectivityReply </code> </example> <example> Runs the ClearSqlServerBackupCredentials operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: ClearSqlServerBackupCredentials $query = New-RscMutationCloudNative -Operation ClearSqlServerBackupCredentials # REQUIRED $query.Var.input = @{ # REQUIRED objectIds = @( $someString ) # REQUIRED workloadType = $someWorkloadLevelHierarchy # Call [Enum]::GetValues([RubrikSecurityCloud.Types.WorkloadLevelHierarchy]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ClearCloudNativeSqlServerBackupCredentialsReply </code> </example> <example> Runs the CreateLabelRule operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: CreateLabelRule $query = New-RscMutationCloudNative -Operation CreateLabelRule # REQUIRED $query.Var.input = @{ # REQUIRED objectType = $someCloudNativeLabelObjectType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudNativeLabelObjectType]) for enum values. # REQUIRED labelRuleName = $someString # REQUIRED label = @{ # REQUIRED labelKey = $someString # REQUIRED labelValue = $someString # REQUIRED matchAllValues = $someBoolean } # OPTIONAL slaAssignType = $someTagRuleSlaAssignType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TagRuleSlaAssignType]) for enum values. # OPTIONAL slaId = $someString # OPTIONAL cloudNativeAccountIds = @{ # OPTIONAL awsNativeAccountIds = @( $someString ) # OPTIONAL azureNativeSubscriptionIds = @( $someString ) # OPTIONAL gcpNativeProjectIds = @( $someString ) } # OPTIONAL applyToAllCloudAccounts = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateCloudNativeLabelRuleReply </code> </example> <example> Runs the CreateTagRule operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: CreateTagRule $query = New-RscMutationCloudNative -Operation CreateTagRule # REQUIRED $query.Var.input = @{ # REQUIRED objectType = $someCloudNativeTagObjectType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudNativeTagObjectType]) for enum values. # REQUIRED tagRuleName = $someString # REQUIRED tag = @{ # REQUIRED tagKey = $someString # REQUIRED tagValue = $someString # REQUIRED matchAllValues = $someBoolean } # OPTIONAL slaAssignType = $someTagRuleSlaAssignType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TagRuleSlaAssignType]) for enum values. # OPTIONAL slaId = $someString # OPTIONAL cloudNativeAccountIds = @{ # OPTIONAL awsNativeAccountIds = @( $someString ) # OPTIONAL azureNativeSubscriptionIds = @( $someString ) # OPTIONAL gcpNativeProjectIds = @( $someString ) } # OPTIONAL applyToAllCloudAccounts = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateCloudNativeTagRuleReply </code> </example> <example> Runs the DeleteLabelRule operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: DeleteLabelRule $query = New-RscMutationCloudNative -Operation DeleteLabelRule # REQUIRED $query.Var.input = @{ # REQUIRED ruleId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DeleteTagRule operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: DeleteTagRule $query = New-RscMutationCloudNative -Operation DeleteTagRule # REQUIRED $query.Var.input = @{ # REQUIRED ruleId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DownloadFiles operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: DownloadFiles $query = New-RscMutationCloudNative -Operation DownloadFiles # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED filePaths = @( $someString ) # OPTIONAL snapshotType = $someSnapshotType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SnapshotType]) for enum values. # REQUIRED fileRecoveryLocationDetails = @{ # OPTIONAL cloudDownloadLocationDetails = @{ # REQUIRED downloadLocation = $someString # REQUIRED createDownloadLocation = $someBoolean # OPTIONAL tags = @( @{ # REQUIRED tagKey = $someString # REQUIRED tagValue = $someString # REQUIRED matchAllValues = $someBoolean } ) } # OPTIONAL vmDownloadLocationDetails = @{ # REQUIRED id = $someString # OPTIONAL pathToRecover = $someString } } # REQUIRED downloadType = $someFileDownloadType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FileDownloadType]) for enum values. # OPTIONAL exocomputeCloudNativeAccountId = $someString # OPTIONAL exocomputeRegion = $someString # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadFilesReply </code> </example> <example> Runs the SetupSqlServerBackup operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: SetupSqlServerBackup $query = New-RscMutationCloudNative -Operation SetupSqlServerBackup # REQUIRED $query.Var.input = @{ # REQUIRED databaseIds = @( $someString ) # OPTIONAL adminCredentials = @{ # REQUIRED login = $someString # REQUIRED password = $someString } # OPTIONAL authMechanism = $someSqlAuthenticationMechanism # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SqlAuthenticationMechanism]) for enum values. # OPTIONAL sessionId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the StartSnapshotsIndexJob operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: StartSnapshotsIndexJob $query = New-RscMutationCloudNative -Operation StartSnapshotsIndexJob # REQUIRED $query.Var.input = @{ # REQUIRED snapshotIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the UpdateIndexingStatus operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: UpdateIndexingStatus $query = New-RscMutationCloudNative -Operation UpdateIndexingStatus # REQUIRED $query.Var.input = @{ # REQUIRED workloadIds = @( $someString ) # REQUIRED isIndexingEnabled = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateCloudNativeIndexingStatusReply </code> </example> <example> Runs the UpdateLabelRule operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: UpdateLabelRule $query = New-RscMutationCloudNative -Operation UpdateLabelRule # REQUIRED $query.Var.input = @{ # REQUIRED labelRuleId = $someString # REQUIRED labelRuleName = $someString # OPTIONAL slaAssignType = $someTagRuleSlaAssignType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TagRuleSlaAssignType]) for enum values. # OPTIONAL slaId = $someString # OPTIONAL cloudNativeAccountIds = @{ # OPTIONAL awsNativeAccountIds = @( $someString ) # OPTIONAL azureNativeSubscriptionIds = @( $someString ) # OPTIONAL gcpNativeProjectIds = @( $someString ) } # OPTIONAL applyToAllCloudAccounts = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateRootThreatMonitoringEnablement operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: UpdateRootThreatMonitoringEnablement $query = New-RscMutationCloudNative -Operation UpdateRootThreatMonitoringEnablement # REQUIRED $query.Var.input = @{ # REQUIRED isEnabled = $someBoolean # REQUIRED rootIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateTagRule operation of the 'Cloud Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CloudNative # API Operation: UpdateTagRule $query = New-RscMutationCloudNative -Operation UpdateTagRule # REQUIRED $query.Var.input = @{ # REQUIRED tagRuleId = $someString # REQUIRED tagRuleName = $someString # OPTIONAL slaAssignType = $someTagRuleSlaAssignType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TagRuleSlaAssignType]) for enum values. # OPTIONAL slaId = $someString # OPTIONAL cloudNativeAccountIds = @{ # OPTIONAL awsNativeAccountIds = @( $someString ) # OPTIONAL azureNativeSubscriptionIds = @( $someString ) # OPTIONAL gcpNativeProjectIds = @( $someString ) } # OPTIONAL applyToAllCloudAccounts = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationCluster"> <summary> Create a new RscQuery object for any of the 23 operations in the 'Cluster' API domain: AddClusterNodes, AddClusterRoute, AddNodesToCloud, DeleteClusterRoute, DeleteTerminatedClusterOperationJobData, DisconnectExocompute, ExocomputeClusterConnect, GenerateClusterRegistrationToken, MigrateCloudClusterDisks, RecoverCloud, RegisterCloud, ReleasePersistentExo, RemoveCdm, RemoveClusterNodes, ReplaceClusterNode, RequestPersistentExo, SetMissingClusterStatus, UpdateClusterDefaultAddress, UpdateClusterLocation, UpdateClusterNtpServers, UpdateClusterPauseStatus, UpdateClusterSettings, or UpdatePreviewerClusterConfig. </summary> <description> New-RscMutationCluster creates a new mutation object for operations in the 'Cluster' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 23 operations in the 'Cluster' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: AddClusterNodes, AddClusterRoute, AddNodesToCloud, DeleteClusterRoute, DeleteTerminatedClusterOperationJobData, DisconnectExocompute, ExocomputeClusterConnect, GenerateClusterRegistrationToken, MigrateCloudClusterDisks, RecoverCloud, RegisterCloud, ReleasePersistentExo, RemoveCdm, RemoveClusterNodes, ReplaceClusterNode, RequestPersistentExo, SetMissingClusterStatus, UpdateClusterDefaultAddress, UpdateClusterLocation, UpdateClusterNtpServers, UpdateClusterPauseStatus, UpdateClusterSettings, or UpdatePreviewerClusterConfig. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCluster -AddClusterNodes).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCluster -AddClusterNodes).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the AddClusterNodes operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: AddClusterNodes $query = New-RscMutationCluster -Operation AddClusterNodes # REQUIRED $query.Var.AddClusterNodesInput = @{ # REQUIRED clusterUuid = $someString # REQUIRED nodesMap = @( @{ # OPTIONAL key = $someString # REQUIRED value = @{ # OPTIONAL dataIpConfig = @{ # OPTIONAL vlan = $someInt # REQUIRED address = $someString # REQUIRED gateway = $someString # REQUIRED netmask = $someString } # REQUIRED ipmiIpConfig = @{ # OPTIONAL vlan = $someInt # REQUIRED address = $someString # REQUIRED gateway = $someString # REQUIRED netmask = $someString } # REQUIRED managementIpConfig = @{ # OPTIONAL vlan = $someInt # REQUIRED address = $someString # REQUIRED gateway = $someString # REQUIRED netmask = $someString } # OPTIONAL vlanIpConfigs = @( @{ # REQUIRED ip = $someString # REQUIRED vlan = $someInt } ) # OPTIONAL chassisId = $someString } } ) # REQUIRED request = @{ # OPTIONAL encryptionPassword = $someString # OPTIONAL isIpv4ManualDiscoveryMode = $someBoolean # OPTIONAL isLinkLocalIpv4Mode = $someBoolean # REQUIRED ipmiPassword = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddClusterNodesReply </code> </example> <example> Runs the AddClusterRoute operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: AddClusterRoute $query = New-RscMutationCluster -Operation AddClusterRoute # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED routeConfig = @{ # REQUIRED device = $someString # REQUIRED gateway = $someString # REQUIRED netmask = $someString # REQUIRED network = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddClusterRouteReply </code> </example> <example> Runs the AddNodesToCloud operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: AddNodesToCloud $query = New-RscMutationCluster -Operation AddNodesToCloud # REQUIRED $query.Var.input = @{ # OPTIONAL numberOfNodes = $someInt # OPTIONAL awsImageId = $someString # OPTIONAL azureImageName = $someString # REQUIRED cloudAccountId = $someString # REQUIRED vendor = $someCcpVendorType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CcpVendorType]) for enum values. # REQUIRED clusterUuid = $someString # REQUIRED shouldKeepResourcesOnFailure = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CcProvisionJobReply </code> </example> <example> Runs the DeleteClusterRoute operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: DeleteClusterRoute $query = New-RscMutationCluster -Operation DeleteClusterRoute # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED routeConfig = @{ # REQUIRED netmask = $someString # REQUIRED network = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DeleteTerminatedClusterOperationJobData operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: DeleteTerminatedClusterOperationJobData $query = New-RscMutationCluster -Operation DeleteTerminatedClusterOperationJobData # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED jobType = $someCcpJobType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CcpJobType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DeleteTerminatedClusterOperationJobDataReply </code> </example> <example> Runs the DisconnectExocompute operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: DisconnectExocompute $query = New-RscMutationCluster -Operation DisconnectExocompute # REQUIRED $query.Var.input = @{ # REQUIRED clusterId = $someString # REQUIRED cloudType = $someCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the ExocomputeClusterConnect operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: ExocomputeClusterConnect $query = New-RscMutationCluster -Operation ExocomputeClusterConnect # REQUIRED $query.Var.input = @{ # OPTIONAL clusterName = $someString # REQUIRED exocomputeConfigId = $someString # REQUIRED cloudType = $someCloudType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ExocomputeClusterConnectReply </code> </example> <example> Runs the GenerateClusterRegistrationToken operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: GenerateClusterRegistrationToken $query = New-RscMutationCluster -Operation GenerateClusterRegistrationToken # OPTIONAL $query.Var.input = @{ # OPTIONAL managedByPolaris = $someBoolean # OPTIONAL nodeConfigs = @( @{ # OPTIONAL id = $someString # OPTIONAL manufactureTime = $someDateTime # OPTIONAL serial = $someString # OPTIONAL systemUuid = $someString # OPTIONAL teleportToken = $someString # OPTIONAL clusterUuid = $someString # OPTIONAL platform = $someString # OPTIONAL capacity = $someString # OPTIONAL isEntitled = $someBoolean } ) # OPTIONAL isOfflineRegistration = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ClusterRegistrationToken </code> </example> <example> Runs the MigrateCloudClusterDisks operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: MigrateCloudClusterDisks $query = New-RscMutationCluster -Operation MigrateCloudClusterDisks # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED vendor = $someCcpVendorType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CcpVendorType]) for enum values. # REQUIRED clusterUuid = $someString # OPTIONAL batchSize = $someInt # OPTIONAL newNodeCount = $someInt # OPTIONAL migrateToExtraDense = $someBoolean # OPTIONAL newInstanceType = $someInt } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CcProvisionJobReply </code> </example> <example> Runs the RecoverCloud operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: RecoverCloud $query = New-RscMutationCluster -Operation RecoverCloud # REQUIRED $query.Var.input = @{ # OPTIONAL adminPassword = $someString # OPTIONAL userEmail = $someString # REQUIRED cloudAccountId = $someString # REQUIRED clusterUuid = $someString # OPTIONAL azureEsResourceGroup = $someString # OPTIONAL azureVmConfig = @{ # OPTIONAL resourceGroup = $someString # OPTIONAL cdmVersion = $someString # OPTIONAL location = $someString # OPTIONAL nodeSizeGb = $someInt # OPTIONAL networkResourceGroup = $someString # OPTIONAL vnetResourceGroup = $someString # OPTIONAL networkSecurityGroup = $someString # OPTIONAL networkSecurityResourceGroup = $someString # OPTIONAL vnet = $someString # OPTIONAL subnet = $someString # OPTIONAL tags = $someString # OPTIONAL vmImage = $someString # OPTIONAL cdmProduct = $someString # OPTIONAL availabilityZone = $someString # OPTIONAL vmType = $someVmType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.VmType]) for enum values. # OPTIONAL instanceType = $someAzureInstanceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AzureInstanceType]) for enum values. } # OPTIONAL awsVmConfig = @{ # OPTIONAL cdmVersion = $someString # OPTIONAL nodeSizeGb = $someInt # OPTIONAL subnet = $someString # OPTIONAL tags = $someString # OPTIONAL imageId = $someString # OPTIONAL instanceProfileName = $someString # OPTIONAL cdmProduct = $someString # OPTIONAL placementGroupName = $someString # OPTIONAL vmType = $someVmType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.VmType]) for enum values. # OPTIONAL securityGroups = @( $someString ) # OPTIONAL instanceType = $someAwsInstanceType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AwsInstanceType]) for enum values. # OPTIONAL networkConfig = @( @{ # OPTIONAL availabilityZone = $someString # OPTIONAL subnet = $someString } ) } # OPTIONAL awsRegion = $someString # REQUIRED shouldDisableAwsApiTermination = $someBoolean # REQUIRED shouldKeepClusterOnFailure = $someBoolean # OPTIONAL ntpServers = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CcProvisionJobReply </code> </example> <example> Runs the RegisterCloud operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: RegisterCloud $query = New-RscMutationCluster -Operation RegisterCloud # REQUIRED $query.Var.input = @{ # OPTIONAL clusterUuid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RegisterCloudClusterReply </code> </example> <example> Runs the ReleasePersistentExo operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: ReleasePersistentExo $query = New-RscMutationCluster -Operation ReleasePersistentExo # REQUIRED $query.Var.input = @{ # REQUIRED cloudVendor = $someCloudVendor # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudVendor]) for enum values. # REQUIRED exocomputeConfigId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the RemoveCdm operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: RemoveCdm $query = New-RscMutationCluster -Operation RemoveCdm # REQUIRED $query.Var.clusterUUID = $someString # REQUIRED $query.Var.isForce = $someBoolean # OPTIONAL $query.Var.expireInDays = $someInt64 # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the RemoveClusterNodes operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: RemoveClusterNodes $query = New-RscMutationCluster -Operation RemoveClusterNodes # REQUIRED $query.Var.input = @{ # OPTIONAL nodeIds = @( $someString ) # OPTIONAL useQuickDrain = $someBoolean # OPTIONAL removeCloudResources = $someBoolean # REQUIRED clusterUuid = $someString # OPTIONAL nodeMetadata = @( @{ # OPTIONAL nodeId = $someString # OPTIONAL chassisId = $someString # OPTIONAL platform = $someClusterNodePlatformType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterNodePlatformType]) for enum values. # OPTIONAL status = $someClusterNodeStatus # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterNodeStatus]) for enum values. # OPTIONAL useQuickDrain = $someBoolean # OPTIONAL resetAfterRemoveType = $someResetAfterRemoveType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ResetAfterRemoveType]) for enum values. } ) # OPTIONAL resetAfterRemoveType = $someResetAfterRemoveType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ResetAfterRemoveType]) for enum values. # OPTIONAL cloudAccountId = $someString # OPTIONAL vendor = $someCcpVendorType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CcpVendorType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CcProvisionJobReply </code> </example> <example> Runs the ReplaceClusterNode operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: ReplaceClusterNode $query = New-RscMutationCluster -Operation ReplaceClusterNode # REQUIRED $query.Var.input = @{ # OPTIONAL newNodeId = $someString # OPTIONAL ipmiPassword = $someString # REQUIRED clusterUuid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ReplaceClusterNodeReply </code> </example> <example> Runs the RequestPersistentExo operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: RequestPersistentExo $query = New-RscMutationCluster -Operation RequestPersistentExo # REQUIRED $query.Var.input = @{ # REQUIRED cloudVendor = $someCloudVendor # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudVendor]) for enum values. # REQUIRED exocomputeConfigId = $someString # OPTIONAL durationInDays = $someInt # OPTIONAL azureSpecificClusterParams = @{ # OPTIONAL nodeType = $someString } # OPTIONAL awsSpecificClusterParams = @{ # OPTIONAL nodeKeypairName = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RequestPersistentExoclusterReply </code> </example> <example> Runs the SetMissingClusterStatus operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: SetMissingClusterStatus $query = New-RscMutationCluster -Operation SetMissingClusterStatus # REQUIRED $query.Var.input = @{ # OPTIONAL disconnectedState = $someMissingClusterDisconnectedState # Call [Enum]::GetValues([RubrikSecurityCloud.Types.MissingClusterDisconnectedState]) for enum values. # OPTIONAL exclusionReason = $someString # REQUIRED uuid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: SetMissingClusterStatusReply </code> </example> <example> Runs the UpdateClusterDefaultAddress operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: UpdateClusterDefaultAddress $query = New-RscMutationCluster -Operation UpdateClusterDefaultAddress # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # OPTIONAL address = $someString # OPTIONAL port = $someInt } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateClusterDefaultAddressReply </code> </example> <example> Runs the UpdateClusterLocation operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: UpdateClusterLocation $query = New-RscMutationCluster -Operation UpdateClusterLocation # REQUIRED $query.Var.clusterUuid = $someString # REQUIRED $query.Var.clusterLocation = @{ # REQUIRED address = $someString # REQUIRED latitude = $someSingle # REQUIRED longitude = $someSingle } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Cluster </code> </example> <example> Runs the UpdateClusterNtpServers operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: UpdateClusterNtpServers $query = New-RscMutationCluster -Operation UpdateClusterNtpServers # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED ntpServerConfigs = @( @{ # REQUIRED server = $someString # OPTIONAL symmetricKey = @{ # REQUIRED key = $someString # REQUIRED keyId = $someInt # REQUIRED keyType = $someString } } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the UpdateClusterPauseStatus operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: UpdateClusterPauseStatus $query = New-RscMutationCluster -Operation UpdateClusterPauseStatus # REQUIRED $query.Var.input = @{ # OPTIONAL clusterUuids = @( $someString ) # OPTIONAL togglePauseStatus = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateClusterPauseStatusReply </code> </example> <example> Runs the UpdateClusterSettings operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: UpdateClusterSettings $query = New-RscMutationCluster -Operation UpdateClusterSettings # REQUIRED $query.Var.input = @{ # REQUIRED clusterUpdate = @{ # OPTIONAL acceptedEulaVersion = $someString # OPTIONAL geolocation = @{ # REQUIRED address = $someString } # OPTIONAL name = $someString # OPTIONAL timezone = @{ # REQUIRED timezone = $someClusterTimezoneType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterTimezoneType]) for enum values. } } # REQUIRED id = $someString # REQUIRED clusterUuid = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateClusterSettingsReply </code> </example> <example> Runs the UpdatePreviewerClusterConfig operation of the 'Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Cluster # API Operation: UpdatePreviewerClusterConfig $query = New-RscMutationCluster -Operation UpdatePreviewerClusterConfig # REQUIRED $query.Var.previewerClusterConfig = @{ # OPTIONAL clusterId = $someString # OPTIONAL enabled = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Cluster </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationCrossAccount"> <summary> Create a new RscQuery object for any of the 4 operations in the 'Cross Account' API domain: AddCrossAccountServiceConsumer, CreateCrossAccountPair, CreateCrossAccountRegOauthPayload, or DeleteCrossAccountPair. </summary> <description> New-RscMutationCrossAccount creates a new mutation object for operations in the 'Cross Account' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 4 operations in the 'Cross Account' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: AddCrossAccountServiceConsumer, CreateCrossAccountPair, CreateCrossAccountRegOauthPayload, or DeleteCrossAccountPair. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCrossAccount -AddCrossAccountServiceConsumer).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationCrossAccount -AddCrossAccountServiceConsumer).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the AddCrossAccountServiceConsumer operation of the 'Cross Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CrossAccount # API Operation: AddCrossAccountServiceConsumer $query = New-RscMutationCrossAccount -Operation AddCrossAccountServiceConsumer # REQUIRED $query.Var.input = @{ # REQUIRED crossAccountId = $someString # REQUIRED fqdn = $someString # REQUIRED serviceConsumerSa = @{ # OPTIONAL clientId = $someString # OPTIONAL clientSecret = $someString # OPTIONAL accessTokenUrl = $someString } # OPTIONAL isRefresh = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddCrossAccountServiceConsumerReply </code> </example> <example> Runs the CreateCrossAccountPair operation of the 'Cross Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CrossAccount # API Operation: CreateCrossAccountPair $query = New-RscMutationCrossAccount -Operation CreateCrossAccountPair # REQUIRED $query.Var.input = @{ # REQUIRED code = $someString # REQUIRED state = $someString # REQUIRED fqdn = $someString # OPTIONAL isRefresh = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the CreateCrossAccountRegOauthPayload operation of the 'Cross Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CrossAccount # API Operation: CreateCrossAccountRegOauthPayload $query = New-RscMutationCrossAccount -Operation CreateCrossAccountRegOauthPayload # REQUIRED $query.Var.input = @{ # REQUIRED fqdn = $someString # OPTIONAL isRefresh = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateCrossAccountRegOauthPayloadReply </code> </example> <example> Runs the DeleteCrossAccountPair operation of the 'Cross Account' API domain. <code> PS > # Create an RscQuery object for: # API Domain: CrossAccount # API Operation: DeleteCrossAccountPair $query = New-RscMutationCrossAccount -Operation DeleteCrossAccountPair # REQUIRED $query.Var.input = @{ # REQUIRED crossAccountId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationDb2"> <summary> Create a new RscQuery object for any of the 13 operations in the 'Db2' API domain: AddInstance, ConfigureRestore, CreateOnDemandBackup, DeleteDatabase, DeleteInstance, DiscoverInstance, DownloadSnapshot, DownloadSnapshotV2, DownloadSnapshotsForPointInTimeRecovery, ExpireDownloadedSnapshots, PatchDatabase, PatchInstance, or RefreshDatabase. </summary> <description> New-RscMutationDb2 creates a new mutation object for operations in the 'Db2' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 13 operations in the 'Db2' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: AddInstance, ConfigureRestore, CreateOnDemandBackup, DeleteDatabase, DeleteInstance, DiscoverInstance, DownloadSnapshot, DownloadSnapshotV2, DownloadSnapshotsForPointInTimeRecovery, ExpireDownloadedSnapshots, PatchDatabase, PatchInstance, or RefreshDatabase. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationDb2 -AddInstance).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationDb2 -AddInstance).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the AddInstance operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: AddInstance $query = New-RscMutationDb2 -Operation AddInstance # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED db2InstanceRequestConfig = @{ # REQUIRED hostIds = @( $someString ) # REQUIRED instanceName = $someString # REQUIRED password = $someString # REQUIRED username = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AddDb2InstanceReply </code> </example> <example> Runs the ConfigureRestore operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: ConfigureRestore $query = New-RscMutationDb2 -Operation ConfigureRestore # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED restoreConfig = @{ # OPTIONAL expiryTimestamp = $someDateTime # REQUIRED hostIdsToAdd = @( $someString ) # REQUIRED hostIdsToRemove = @( $someString ) } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Db2ConfigureRestoreResponse </code> </example> <example> Runs the CreateOnDemandBackup operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: CreateOnDemandBackup $query = New-RscMutationDb2 -Operation CreateOnDemandBackup # REQUIRED $query.Var.input = @{ # OPTIONAL config = @{ # OPTIONAL slaId = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DeleteDatabase operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: DeleteDatabase $query = New-RscMutationDb2 -Operation DeleteDatabase # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DeleteInstance operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: DeleteInstance $query = New-RscMutationDb2 -Operation DeleteInstance # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DiscoverInstance operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: DiscoverInstance $query = New-RscMutationDb2 -Operation DiscoverInstance # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DownloadSnapshot operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: DownloadSnapshot $query = New-RscMutationDb2 -Operation DownloadSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DownloadSnapshotV2 operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: DownloadSnapshotV2 $query = New-RscMutationDb2 -Operation DownloadSnapshotV2 # REQUIRED $query.Var.input = @{ # OPTIONAL downloadConfig = @{ # OPTIONAL slaId = $someString } # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DownloadSnapshotsForPointInTimeRecovery operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: DownloadSnapshotsForPointInTimeRecovery $query = New-RscMutationDb2 -Operation DownloadSnapshotsForPointInTimeRecovery # REQUIRED $query.Var.input = @{ # REQUIRED downloadConfig = @{ # OPTIONAL pointInTime = $someDateTime # REQUIRED preferredLocationId = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the ExpireDownloadedSnapshots operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: ExpireDownloadedSnapshots $query = New-RscMutationDb2 -Operation ExpireDownloadedSnapshots # REQUIRED $query.Var.input = @{ # OPTIONAL afterTime = $someDateTime # OPTIONAL beforeTime = $someDateTime # OPTIONAL shouldExpireLogsOnly = $someBoolean # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the PatchDatabase operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: PatchDatabase $query = New-RscMutationDb2 -Operation PatchDatabase # REQUIRED $query.Var.input = @{ # REQUIRED db2DatabaseConfig = @{ # OPTIONAL backupParallelism = $someInt # OPTIONAL backupSessions = $someInt } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: PatchDb2DatabaseReply </code> </example> <example> Runs the PatchInstance operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: PatchInstance $query = New-RscMutationDb2 -Operation PatchInstance # REQUIRED $query.Var.input = @{ # REQUIRED db2InstanceRequestConfig = @{ # OPTIONAL hostIds = @( $someString ) # OPTIONAL password = $someString # OPTIONAL username = $someString # OPTIONAL instanceName = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: PatchDb2InstanceReply </code> </example> <example> Runs the RefreshDatabase operation of the 'Db2' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Db2 # API Operation: RefreshDatabase $query = New-RscMutationDb2 -Operation RefreshDatabase # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationDownload"> <summary> Create a new RscQuery object for any of the 21 operations in the 'Report Download' API domain: ActiveDirectorySnapshotFromLocation, AuditLogCsvAsync, CdmTprConfigurationAsync, ExchangeSnapshot, ExchangeSnapshotV2, FilesetSnapshot, FilesetSnapshotFromLocation, FromArchiveV2, ObjectFilesCsv, ObjectsListCsv, ReportCsvAsync, ReportPdfAsync, ResultsCsv, SapHanaSnapshot, SapHanaSnapshotFromLocation, SapHanaSnapshotsForPointInTimeRecovery, SnapshotResultsCsv, ThreatHuntCsv, ThreatHuntV2ResultsCsv, VolumeGroupSnapshotFiles, or VolumeGroupSnapshotFromLocation. </summary> <description> New-RscMutationDownload creates a new mutation object for operations in the 'Report Download' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 21 operations in the 'Report Download' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: ActiveDirectorySnapshotFromLocation, AuditLogCsvAsync, CdmTprConfigurationAsync, ExchangeSnapshot, ExchangeSnapshotV2, FilesetSnapshot, FilesetSnapshotFromLocation, FromArchiveV2, ObjectFilesCsv, ObjectsListCsv, ReportCsvAsync, ReportPdfAsync, ResultsCsv, SapHanaSnapshot, SapHanaSnapshotFromLocation, SapHanaSnapshotsForPointInTimeRecovery, SnapshotResultsCsv, ThreatHuntCsv, ThreatHuntV2ResultsCsv, VolumeGroupSnapshotFiles, or VolumeGroupSnapshotFromLocation. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationDownload -ActiveDirectorySnapshotFromLocation).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationDownload -ActiveDirectorySnapshotFromLocation).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the ActiveDirectorySnapshotFromLocation operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ActiveDirectorySnapshotFromLocation $query = New-RscMutationDownload -Operation ActiveDirectorySnapshotFromLocation # REQUIRED $query.Var.input = @{ # OPTIONAL downloadConfig = @{ # OPTIONAL slaId = $someString } # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the AuditLogCsvAsync operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: AuditLogCsvAsync $query = New-RscMutationDownload -Operation AuditLogCsvAsync # REQUIRED $query.Var.input = @{ # REQUIRED filters = @{ # OPTIONAL activityObjectType = @( $someActivityObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityObjectTypeEnum]) for enum values. ) # OPTIONAL objectType = @( $someObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ObjectTypeEnum]) for enum values. ) # OPTIONAL excludedObjectTypes = @( $someObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ObjectTypeEnum]) for enum values. ) # OPTIONAL lastActivityStatus = @( $someActivityStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityStatusEnum]) for enum values. ) # OPTIONAL lastActivityType = @( $someActivityTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityTypeEnum]) for enum values. ) # OPTIONAL slaDomainId = @( $someString ) # OPTIONAL clusterType = @( $someClusterTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterTypeEnum]) for enum values. ) # OPTIONAL clusterId = @( $someString ) # OPTIONAL timeRange = @{ # OPTIONAL relativeTimeRange = @{ # REQUIRED magnitude = $someInt # REQUIRED unit = $someTimeUnitEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TimeUnitEnum]) for enum values. } # OPTIONAL absoluteTimeRange = @{ # REQUIRED start = $someDateTime # REQUIRED end = $someDateTime } } # OPTIONAL slaTimeRange = $someSlaComplianceTimeRange # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SlaComplianceTimeRange]) for enum values. # OPTIONAL orgId = @( $someString ) # OPTIONAL managedId = @( $someString ) # OPTIONAL isAnomaly = $someBoolean # OPTIONAL searchTerm = $someString # OPTIONAL complianceStatus = @( $someComplianceStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ComplianceStatusEnum]) for enum values. ) # OPTIONAL protectionStatus = @( $someProtectionStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ProtectionStatusEnum]) for enum values. ) # OPTIONAL failoverStatus = @( $someFailoverStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverStatusEnum]) for enum values. ) # OPTIONAL failoverType = $someFailoverTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverTypeEnum]) for enum values. # OPTIONAL source = @( $someString ) # OPTIONAL targetSite = @( $someString ) # OPTIONAL userAuditObjectType = @( $someUserAuditObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditObjectTypeEnum]) for enum values. ) # OPTIONAL userAuditType = @( $someUserAuditTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditTypeEnum]) for enum values. ) # OPTIONAL userAuditStatus = @( $someUserAuditStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditStatusEnum]) for enum values. ) # OPTIONAL replicationSource = @( $someString ) # OPTIONAL clusterLocation = @( $someString ) # OPTIONAL taskCategory = @( $someString ) # OPTIONAL taskStatus = @( $someString ) # OPTIONAL taskType = @( $someString ) # OPTIONAL policyId = @( $someString ) # OPTIONAL sonarObjectTypes = @( $someHierarchyObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HierarchyObjectTypeEnum]) for enum values. ) # OPTIONAL shouldApplyWhitelists = $someBoolean # OPTIONAL date = $someDateTime } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncDownloadReply </code> </example> <example> Runs the CdmTprConfigurationAsync operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: CdmTprConfigurationAsync $query = New-RscMutationDownload -Operation CdmTprConfigurationAsync # No variables for this query. # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadCdmTprConfigAsyncReply </code> </example> <example> Runs the ExchangeSnapshot operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ExchangeSnapshot $query = New-RscMutationDownload -Operation ExchangeSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the ExchangeSnapshotV2 operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ExchangeSnapshotV2 $query = New-RscMutationDownload -Operation ExchangeSnapshotV2 # REQUIRED $query.Var.input = @{ # OPTIONAL downloadConfig = @{ # OPTIONAL slaId = $someString } # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the FilesetSnapshot operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: FilesetSnapshot $query = New-RscMutationDownload -Operation FilesetSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the FilesetSnapshotFromLocation operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: FilesetSnapshotFromLocation $query = New-RscMutationDownload -Operation FilesetSnapshotFromLocation # REQUIRED $query.Var.input = @{ # OPTIONAL downloadConfig = @{ # OPTIONAL slaId = $someString } # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the FromArchiveV2 operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: FromArchiveV2 $query = New-RscMutationDownload -Operation FromArchiveV2 # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL slaId = $someString # REQUIRED recoveryPoint = @{ # OPTIONAL timestampMs = $someInt64 # OPTIONAL date = $someDateTime # OPTIONAL lsnPoint = @{ # OPTIONAL recoveryForkGuid = $someString # REQUIRED lsn = $someString } } } # REQUIRED id = $someString # REQUIRED locationId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the ObjectFilesCsv operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ObjectFilesCsv $query = New-RscMutationDownload -Operation ObjectFilesCsv # REQUIRED $query.Var.input = @{ # REQUIRED filters = @{ # OPTIONAL openAccessTypes = @( $someOpenAccessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.OpenAccessType]) for enum values. ) # OPTIONAL stalenessTypes = @( $someStalenessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.StalenessType]) for enum values. ) # OPTIONAL analyzerGroupIds = @( $someString ) # OPTIONAL clusterIds = @( $someString ) # OPTIONAL pathPrefix = $someString # OPTIONAL snappableTypes = @( $someString ) # OPTIONAL searchText = $someString # OPTIONAL whitelistEnabled = $someBoolean # OPTIONAL fileCountTypes = @( $someFileCountType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FileCountType]) for enum values. ) # OPTIONAL accessTypes = @( $someAccessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.AccessType]) for enum values. ) # OPTIONAL activityTypes = @( $someActivityAccessType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityAccessType]) for enum values. ) # OPTIONAL objectIds = @( $someString ) # OPTIONAL inodeTypes = @( $someInodeType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InodeType]) for enum values. ) # REQUIRED objectTypes = @( $someHierarchyObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HierarchyObjectTypeEnum]) for enum values. ) } # REQUIRED day = $someString # REQUIRED timezone = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadCsvReply </code> </example> <example> Runs the ObjectsListCsv operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ObjectsListCsv $query = New-RscMutationDownload -Operation ObjectsListCsv # REQUIRED $query.Var.input = @{ # REQUIRED day = $someString # REQUIRED timezone = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadCsvReply </code> </example> <example> Runs the ReportCsvAsync operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ReportCsvAsync $query = New-RscMutationDownload -Operation ReportCsvAsync # REQUIRED $query.Var.input = @{ # REQUIRED id = $someInt # OPTIONAL config = @{ # REQUIRED name = $someString # REQUIRED focus = $someReportFocusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportFocusEnum]) for enum values. # OPTIONAL charts = @( @{ # REQUIRED name = $someString # REQUIRED focus = $someReportFocusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportFocusEnum]) for enum values. # OPTIONAL groupBy = @( $someGroupByFieldEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GroupByFieldEnum]) for enum values. ) } ) # OPTIONAL tables = @( @{ # REQUIRED name = $someString # REQUIRED focus = $someReportFocusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportFocusEnum]) for enum values. # OPTIONAL groupBy = @( $someGroupByFieldEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GroupByFieldEnum]) for enum values. ) # REQUIRED selectedColumns = @( $someReportTableColumnEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportTableColumnEnum]) for enum values. ) # OPTIONAL sortBy = $someSortByFieldEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SortByFieldEnum]) for enum values. # OPTIONAL sortOrder = $someSortOrder # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SortOrder]) for enum values. } ) # REQUIRED filters = @{ # OPTIONAL activityObjectType = @( $someActivityObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityObjectTypeEnum]) for enum values. ) # OPTIONAL objectType = @( $someObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ObjectTypeEnum]) for enum values. ) # OPTIONAL excludedObjectTypes = @( $someObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ObjectTypeEnum]) for enum values. ) # OPTIONAL lastActivityStatus = @( $someActivityStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityStatusEnum]) for enum values. ) # OPTIONAL lastActivityType = @( $someActivityTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityTypeEnum]) for enum values. ) # OPTIONAL slaDomainId = @( $someString ) # OPTIONAL clusterType = @( $someClusterTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterTypeEnum]) for enum values. ) # OPTIONAL clusterId = @( $someString ) # OPTIONAL timeRange = @{ # OPTIONAL relativeTimeRange = @{ # REQUIRED magnitude = $someInt # REQUIRED unit = $someTimeUnitEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TimeUnitEnum]) for enum values. } # OPTIONAL absoluteTimeRange = @{ # REQUIRED start = $someDateTime # REQUIRED end = $someDateTime } } # OPTIONAL slaTimeRange = $someSlaComplianceTimeRange # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SlaComplianceTimeRange]) for enum values. # OPTIONAL orgId = @( $someString ) # OPTIONAL managedId = @( $someString ) # OPTIONAL isAnomaly = $someBoolean # OPTIONAL searchTerm = $someString # OPTIONAL complianceStatus = @( $someComplianceStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ComplianceStatusEnum]) for enum values. ) # OPTIONAL protectionStatus = @( $someProtectionStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ProtectionStatusEnum]) for enum values. ) # OPTIONAL failoverStatus = @( $someFailoverStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverStatusEnum]) for enum values. ) # OPTIONAL failoverType = $someFailoverTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverTypeEnum]) for enum values. # OPTIONAL source = @( $someString ) # OPTIONAL targetSite = @( $someString ) # OPTIONAL userAuditObjectType = @( $someUserAuditObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditObjectTypeEnum]) for enum values. ) # OPTIONAL userAuditType = @( $someUserAuditTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditTypeEnum]) for enum values. ) # OPTIONAL userAuditStatus = @( $someUserAuditStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditStatusEnum]) for enum values. ) # OPTIONAL replicationSource = @( $someString ) # OPTIONAL clusterLocation = @( $someString ) # OPTIONAL taskCategory = @( $someString ) # OPTIONAL taskStatus = @( $someString ) # OPTIONAL taskType = @( $someString ) # OPTIONAL policyId = @( $someString ) # OPTIONAL sonarObjectTypes = @( $someHierarchyObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HierarchyObjectTypeEnum]) for enum values. ) # OPTIONAL shouldApplyWhitelists = $someBoolean # OPTIONAL date = $someDateTime } # OPTIONAL isHidden = $someBoolean # OPTIONAL isReadOnly = $someBoolean } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncDownloadReply </code> </example> <example> Runs the ReportPdfAsync operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ReportPdfAsync $query = New-RscMutationDownload -Operation ReportPdfAsync # REQUIRED $query.Var.input = @{ # REQUIRED id = $someInt # OPTIONAL config = @{ # REQUIRED name = $someString # REQUIRED focus = $someReportFocusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportFocusEnum]) for enum values. # OPTIONAL charts = @( @{ # REQUIRED name = $someString # REQUIRED focus = $someReportFocusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportFocusEnum]) for enum values. # OPTIONAL groupBy = @( $someGroupByFieldEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GroupByFieldEnum]) for enum values. ) } ) # OPTIONAL tables = @( @{ # REQUIRED name = $someString # REQUIRED focus = $someReportFocusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportFocusEnum]) for enum values. # OPTIONAL groupBy = @( $someGroupByFieldEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GroupByFieldEnum]) for enum values. ) # REQUIRED selectedColumns = @( $someReportTableColumnEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReportTableColumnEnum]) for enum values. ) # OPTIONAL sortBy = $someSortByFieldEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SortByFieldEnum]) for enum values. # OPTIONAL sortOrder = $someSortOrder # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SortOrder]) for enum values. } ) # REQUIRED filters = @{ # OPTIONAL activityObjectType = @( $someActivityObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityObjectTypeEnum]) for enum values. ) # OPTIONAL objectType = @( $someObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ObjectTypeEnum]) for enum values. ) # OPTIONAL excludedObjectTypes = @( $someObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ObjectTypeEnum]) for enum values. ) # OPTIONAL lastActivityStatus = @( $someActivityStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityStatusEnum]) for enum values. ) # OPTIONAL lastActivityType = @( $someActivityTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ActivityTypeEnum]) for enum values. ) # OPTIONAL slaDomainId = @( $someString ) # OPTIONAL clusterType = @( $someClusterTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ClusterTypeEnum]) for enum values. ) # OPTIONAL clusterId = @( $someString ) # OPTIONAL timeRange = @{ # OPTIONAL relativeTimeRange = @{ # REQUIRED magnitude = $someInt # REQUIRED unit = $someTimeUnitEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.TimeUnitEnum]) for enum values. } # OPTIONAL absoluteTimeRange = @{ # REQUIRED start = $someDateTime # REQUIRED end = $someDateTime } } # OPTIONAL slaTimeRange = $someSlaComplianceTimeRange # Call [Enum]::GetValues([RubrikSecurityCloud.Types.SlaComplianceTimeRange]) for enum values. # OPTIONAL orgId = @( $someString ) # OPTIONAL managedId = @( $someString ) # OPTIONAL isAnomaly = $someBoolean # OPTIONAL searchTerm = $someString # OPTIONAL complianceStatus = @( $someComplianceStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ComplianceStatusEnum]) for enum values. ) # OPTIONAL protectionStatus = @( $someProtectionStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ProtectionStatusEnum]) for enum values. ) # OPTIONAL failoverStatus = @( $someFailoverStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverStatusEnum]) for enum values. ) # OPTIONAL failoverType = $someFailoverTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverTypeEnum]) for enum values. # OPTIONAL source = @( $someString ) # OPTIONAL targetSite = @( $someString ) # OPTIONAL userAuditObjectType = @( $someUserAuditObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditObjectTypeEnum]) for enum values. ) # OPTIONAL userAuditType = @( $someUserAuditTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditTypeEnum]) for enum values. ) # OPTIONAL userAuditStatus = @( $someUserAuditStatusEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.UserAuditStatusEnum]) for enum values. ) # OPTIONAL replicationSource = @( $someString ) # OPTIONAL clusterLocation = @( $someString ) # OPTIONAL taskCategory = @( $someString ) # OPTIONAL taskStatus = @( $someString ) # OPTIONAL taskType = @( $someString ) # OPTIONAL policyId = @( $someString ) # OPTIONAL sonarObjectTypes = @( $someHierarchyObjectTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HierarchyObjectTypeEnum]) for enum values. ) # OPTIONAL shouldApplyWhitelists = $someBoolean # OPTIONAL date = $someDateTime } # OPTIONAL isHidden = $someBoolean # OPTIONAL isReadOnly = $someBoolean } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncDownloadReply </code> </example> <example> Runs the ResultsCsv operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ResultsCsv $query = New-RscMutationDownload -Operation ResultsCsv # REQUIRED $query.Var.crawlId = $someString # OPTIONAL $query.Var.downloadFilter = @{ # OPTIONAL analyzerGroupIds = @( $someString ) # OPTIONAL browseDirectorySnappablePath = @{ # OPTIONAL snappableFid = $someString # OPTIONAL stdPath = $someString # OPTIONAL mode = $someDataGovFileMode # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DataGovFileMode]) for enum values. } # OPTIONAL listFileResultsSnappablePaths = @( @{ # OPTIONAL snappableFid = $someString # OPTIONAL stdPath = $someString # OPTIONAL mode = $someDataGovFileMode # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DataGovFileMode]) for enum values. } ) # OPTIONAL listFileResultsSnappableTypes = @( $someString ) # OPTIONAL listFileResultsSearchText = $someString # OPTIONAL whitelistEnabled = $someBoolean # OPTIONAL policyViolationId = $someString # REQUIRED fileType = $someFileCountType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FileCountType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadResultsCsvReply </code> </example> <example> Runs the SapHanaSnapshot operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: SapHanaSnapshot $query = New-RscMutationDownload -Operation SapHanaSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the SapHanaSnapshotFromLocation operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: SapHanaSnapshotFromLocation $query = New-RscMutationDownload -Operation SapHanaSnapshotFromLocation # REQUIRED $query.Var.input = @{ # OPTIONAL downloadConfig = @{ # OPTIONAL slaId = $someString } # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the SapHanaSnapshotsForPointInTimeRecovery operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: SapHanaSnapshotsForPointInTimeRecovery $query = New-RscMutationDownload -Operation SapHanaSnapshotsForPointInTimeRecovery # REQUIRED $query.Var.input = @{ # REQUIRED downloadConfig = @{ # OPTIONAL pointInTime = $someDateTime # REQUIRED preferredLocationId = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the SnapshotResultsCsv operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: SnapshotResultsCsv $query = New-RscMutationDownload -Operation SnapshotResultsCsv # REQUIRED $query.Var.snappableFid = $someString # REQUIRED $query.Var.snapshotFid = $someString # OPTIONAL $query.Var.downloadFilter = @{ # OPTIONAL analyzerGroupIds = @( $someString ) # OPTIONAL browseDirectorySnappablePath = @{ # OPTIONAL snappableFid = $someString # OPTIONAL stdPath = $someString # OPTIONAL mode = $someDataGovFileMode # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DataGovFileMode]) for enum values. } # OPTIONAL listFileResultsSnappablePaths = @( @{ # OPTIONAL snappableFid = $someString # OPTIONAL stdPath = $someString # OPTIONAL mode = $someDataGovFileMode # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DataGovFileMode]) for enum values. } ) # OPTIONAL listFileResultsSnappableTypes = @( $someString ) # OPTIONAL listFileResultsSearchText = $someString # OPTIONAL whitelistEnabled = $someBoolean # OPTIONAL policyViolationId = $someString # REQUIRED fileType = $someFileCountType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FileCountType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadCsvReply </code> </example> <example> Runs the ThreatHuntCsv operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ThreatHuntCsv $query = New-RscMutationDownload -Operation ThreatHuntCsv # REQUIRED $query.Var.input = @{ # REQUIRED huntId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadThreatHuntCsvReply </code> </example> <example> Runs the ThreatHuntV2ResultsCsv operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: ThreatHuntV2ResultsCsv $query = New-RscMutationDownload -Operation ThreatHuntV2ResultsCsv # REQUIRED $query.Var.input = @{ # REQUIRED huntId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: DownloadThreatHuntV2CsvResponse </code> </example> <example> Runs the VolumeGroupSnapshotFiles operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: VolumeGroupSnapshotFiles $query = New-RscMutationDownload -Operation VolumeGroupSnapshotFiles # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL nextSnapshotFid = $someString # REQUIRED config = @{ # OPTIONAL legalHoldDownloadConfig = @{ # REQUIRED isLegalHoldDownload = $someBoolean } # REQUIRED paths = @( $someString ) } # OPTIONAL deltaTypeFilter = @( $someDeltaType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DeltaType]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the VolumeGroupSnapshotFromLocation operation of the 'Report Download' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Download # API Operation: VolumeGroupSnapshotFromLocation $query = New-RscMutationDownload -Operation VolumeGroupSnapshotFromLocation # REQUIRED $query.Var.input = @{ # OPTIONAL downloadConfig = @{ # OPTIONAL slaId = $someString } # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationExchange"> <summary> Create a new RscQuery object for any of the 4 operations in the 'Microsoft Exchange' API domain: BulkUpdateDag, CreateMount, CreateOnDemandBackup, or DeleteSnapshotMount. </summary> <description> New-RscMutationExchange creates a new mutation object for operations in the 'Microsoft Exchange' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 4 operations in the 'Microsoft Exchange' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: BulkUpdateDag, CreateMount, CreateOnDemandBackup, or DeleteSnapshotMount. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationExchange -BulkUpdateDag).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationExchange -BulkUpdateDag).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the BulkUpdateDag operation of the 'Microsoft Exchange' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Exchange # API Operation: BulkUpdateDag $query = New-RscMutationExchange -Operation BulkUpdateDag # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED dagUpdateProperties = @( @{ # REQUIRED id = $someString # REQUIRED updateProperties = @{ # REQUIRED backupPreference = $someExchangeBackupPreference # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ExchangeBackupPreference]) for enum values. } } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: V1BulkUpdateExchangeDagResponse </code> </example> <example> Runs the CreateMount operation of the 'Microsoft Exchange' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Exchange # API Operation: CreateMount $query = New-RscMutationExchange -Operation CreateMount # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED config = @{ # OPTIONAL smbDomainName = $someString # OPTIONAL smbValidIps = @( $someString ) # OPTIONAL smbValidUsers = @( $someString ) } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the CreateOnDemandBackup operation of the 'Microsoft Exchange' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Exchange # API Operation: CreateOnDemandBackup $query = New-RscMutationExchange -Operation CreateOnDemandBackup # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL forceFullSnapshot = $someBoolean # OPTIONAL baseOnDemandSnapshotConfig = @{ # OPTIONAL slaId = $someString } } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DeleteSnapshotMount operation of the 'Microsoft Exchange' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Exchange # API Operation: DeleteSnapshotMount $query = New-RscMutationExchange -Operation DeleteSnapshotMount # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationFailoverCluster"> <summary> Create a new RscQuery object for any of the 8 operations in the 'Failover Cluster' API domain: BulkDelete, BulkDeleteApp, Create, CreateApp, Delete, DeleteApp, Update, or UpdateApp. </summary> <description> New-RscMutationFailoverCluster creates a new mutation object for operations in the 'Failover Cluster' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 8 operations in the 'Failover Cluster' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: BulkDelete, BulkDeleteApp, Create, CreateApp, Delete, DeleteApp, Update, or UpdateApp. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationFailoverCluster -BulkDelete).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationFailoverCluster -BulkDelete).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the BulkDelete operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: BulkDelete $query = New-RscMutationFailoverCluster -Operation BulkDelete # REQUIRED $query.Var.input = @{ # OPTIONAL preserveSnapshots = $someBoolean # REQUIRED ids = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the BulkDeleteApp operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: BulkDeleteApp $query = New-RscMutationFailoverCluster -Operation BulkDeleteApp # REQUIRED $query.Var.input = @{ # OPTIONAL preserveSnapshots = $someBoolean # REQUIRED ids = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the Create operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: Create $query = New-RscMutationFailoverCluster -Operation Create # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED config = @{ # OPTIONAL configuredSlaDomainId = $someString # REQUIRED hostIds = @( $someString ) # REQUIRED name = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateFailoverClusterReply </code> </example> <example> Runs the CreateApp operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: CreateApp $query = New-RscMutationFailoverCluster -Operation CreateApp # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL configuredSlaDomainId = $someString # REQUIRED failoverClusterType = $someFailoverClusterType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverClusterType]) for enum values. # REQUIRED failoverClusterAppSource = @{ # OPTIONAL virtualIps = @( $someString ) # OPTIONAL vips = @( $someString ) # OPTIONAL nodeOrders = @( @{ # OPTIONAL nodeName = $someString # REQUIRED nodeId = $someString # REQUIRED order = $someInt } ) } # REQUIRED failoverClusterId = $someString # REQUIRED name = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateFailoverClusterAppReply </code> </example> <example> Runs the Delete operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: Delete $query = New-RscMutationFailoverCluster -Operation Delete # REQUIRED $query.Var.input = @{ # OPTIONAL preserveSnapshots = $someBoolean # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the DeleteApp operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: DeleteApp $query = New-RscMutationFailoverCluster -Operation DeleteApp # REQUIRED $query.Var.input = @{ # OPTIONAL preserveSnapshots = $someBoolean # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the Update operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: Update $query = New-RscMutationFailoverCluster -Operation Update # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED updateProperties = @{ # OPTIONAL configuredSlaDomainId = $someString # REQUIRED hostIds = @( $someString ) # REQUIRED name = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateFailoverClusterReply </code> </example> <example> Runs the UpdateApp operation of the 'Failover Cluster' API domain. <code> PS > # Create an RscQuery object for: # API Domain: FailoverCluster # API Operation: UpdateApp $query = New-RscMutationFailoverCluster -Operation UpdateApp # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED updateProperties = @{ # OPTIONAL configuredSlaDomainId = $someString # REQUIRED failoverClusterType = $someFailoverClusterType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FailoverClusterType]) for enum values. # REQUIRED failoverClusterAppSource = @{ # OPTIONAL virtualIps = @( $someString ) # OPTIONAL vips = @( $someString ) # OPTIONAL nodeOrders = @( @{ # OPTIONAL nodeName = $someString # REQUIRED nodeId = $someString # REQUIRED order = $someInt } ) } # REQUIRED failoverClusterId = $someString # REQUIRED name = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateFailoverClusterAppReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationFileset"> <summary> Create a new RscQuery object for any of the 9 operations in the 'Fileset' API domain: BulkCreate, BulkCreateTemplates, BulkDelete, BulkDeleteTemplate, BulkUpdateTemplate, GenerateBackupReport, RecoverFiles, RecoverFilesFromArchivalLocation, or Update. </summary> <description> New-RscMutationFileset creates a new mutation object for operations in the 'Fileset' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 9 operations in the 'Fileset' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: BulkCreate, BulkCreateTemplates, BulkDelete, BulkDeleteTemplate, BulkUpdateTemplate, GenerateBackupReport, RecoverFiles, RecoverFilesFromArchivalLocation, or Update. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationFileset -BulkCreate).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationFileset -BulkCreate).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the BulkCreate operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: BulkCreate $query = New-RscMutationFileset -Operation BulkCreate # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED definitions = @( @{ # OPTIONAL hostId = $someString # OPTIONAL isPassthrough = $someBoolean # OPTIONAL shareId = $someString # OPTIONAL enableHardlinkSupport = $someBoolean # OPTIONAL enableSymlinkResolution = $someBoolean # OPTIONAL failoverClusterAppId = $someString # OPTIONAL snapMirrorLabelForFullBackup = $someString # OPTIONAL snapMirrorLabelForIncrementalBackup = $someString # OPTIONAL isManagedByPolaris = $someBoolean # OPTIONAL isPolarisNasModel = $someBoolean # OPTIONAL arraySpec = @{ # OPTIONAL proxyHostId = $someString } # REQUIRED templateId = $someString } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkCreateFilesetsReply </code> </example> <example> Runs the BulkCreateTemplates operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: BulkCreateTemplates $query = New-RscMutationFileset -Operation BulkCreateTemplates # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED definitions = @( @{ # OPTIONAL backupScriptErrorHandling = $someString # OPTIONAL backupScriptTimeout = $someInt64 # OPTIONAL exceptions = @( $someString ) # OPTIONAL excludes = @( $someString ) # OPTIONAL isArrayEnabled = $someBoolean # OPTIONAL postBackupScript = $someString # OPTIONAL preBackupScript = $someString # OPTIONAL isCreatedByKupr = $someBoolean # OPTIONAL isCreatedByPolarisNas = $someBoolean # OPTIONAL shouldRetryPrescriptIfBackupFails = $someBoolean # OPTIONAL operatingSystemType = $someFilesetTemplateCreateOperatingSystemType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FilesetTemplateCreateOperatingSystemType]) for enum values. # OPTIONAL shareType = $someFilesetTemplateCreateShareType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FilesetTemplateCreateShareType]) for enum values. # OPTIONAL filesetOptions = @{ # OPTIONAL allowBackupHiddenFoldersInNetworkMounts = $someBoolean # OPTIONAL allowBackupNetworkMounts = $someBoolean # OPTIONAL useWindowsVss = $someBoolean } # REQUIRED includes = @( $someString ) # REQUIRED name = $someString } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkCreateFilesetTemplatesReply </code> </example> <example> Runs the BulkDelete operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: BulkDelete $query = New-RscMutationFileset -Operation BulkDelete # REQUIRED $query.Var.input = @{ # OPTIONAL preserveSnapshots = $someBoolean # REQUIRED ids = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the BulkDeleteTemplate operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: BulkDeleteTemplate $query = New-RscMutationFileset -Operation BulkDeleteTemplate # REQUIRED $query.Var.input = @{ # OPTIONAL preserveSnapshots = $someBoolean # REQUIRED ids = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the BulkUpdateTemplate operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: BulkUpdateTemplate $query = New-RscMutationFileset -Operation BulkUpdateTemplate # REQUIRED $query.Var.input = @{ # REQUIRED definitions = @( @{ # OPTIONAL backupScriptErrorHandling = $someString # OPTIONAL backupScriptTimeout = $someInt64 # OPTIONAL exceptions = @( $someString ) # OPTIONAL excludes = @( $someString ) # OPTIONAL includes = @( $someString ) # OPTIONAL name = $someString # OPTIONAL postBackupScript = $someString # OPTIONAL preBackupScript = $someString # OPTIONAL isCreatedByKupr = $someBoolean # OPTIONAL isCreatedByPolarisNas = $someBoolean # OPTIONAL shouldRetryPrescriptIfBackupFails = $someBoolean # OPTIONAL operatingSystemType = $someFilesetTemplatePatchOperatingSystemType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FilesetTemplatePatchOperatingSystemType]) for enum values. # OPTIONAL shareType = $someFilesetTemplatePatchShareType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.FilesetTemplatePatchShareType]) for enum values. # OPTIONAL filesetOptions = @{ # OPTIONAL allowBackupHiddenFoldersInNetworkMounts = $someBoolean # OPTIONAL allowBackupNetworkMounts = $someBoolean # OPTIONAL useWindowsVss = $someBoolean } # REQUIRED id = $someString } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkUpdateFilesetTemplateReply </code> </example> <example> Runs the GenerateBackupReport operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: GenerateBackupReport $query = New-RscMutationFileset -Operation GenerateBackupReport # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the RecoverFiles operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: RecoverFiles $query = New-RscMutationFileset -Operation RecoverFiles # REQUIRED $query.Var.input = @{ # REQUIRED snapshotFid = $someString # OPTIONAL nextSnapshotFid = $someString # REQUIRED restorePathPairList = @( @{ # OPTIONAL path = $someString # OPTIONAL restorePath = $someString } ) # OPTIONAL deltaTypeFilter = @( $someDeltaType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DeltaType]) for enum values. ) # REQUIRED config = @{ # OPTIONAL ignoreErrors = $someBoolean # OPTIONAL excludePaths = @( $someString ) # OPTIONAL shouldRecreateDirectoryStructure = $someBoolean # OPTIONAL postRestoreScript = $someString # OPTIONAL shouldRestoreOnlyAcls = $someBoolean # REQUIRED restoreConfig = @( @{ # OPTIONAL restorePathPair = @{ # OPTIONAL restorePath = $someString # REQUIRED path = $someString } } ) } # REQUIRED shareType = $someShareTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ShareTypeEnum]) for enum values. # REQUIRED osType = $someGuestOsType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GuestOsType]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the RecoverFilesFromArchivalLocation operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: RecoverFilesFromArchivalLocation $query = New-RscMutationFileset -Operation RecoverFilesFromArchivalLocation # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # OPTIONAL nextSnapshotId = $someString # REQUIRED restorePathPairList = @( @{ # OPTIONAL path = $someString # OPTIONAL restorePath = $someString } ) # OPTIONAL deltaTypeFilter = @( $someDeltaType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DeltaType]) for enum values. ) # REQUIRED config = @{ # OPTIONAL ignoreErrors = $someBoolean # OPTIONAL excludePaths = @( $someString ) # OPTIONAL shouldRecreateDirectoryStructure = $someBoolean # OPTIONAL postRestoreScript = $someString # OPTIONAL shouldRestoreOnlyAcls = $someBoolean # REQUIRED restoreConfig = @( @{ # OPTIONAL restorePathPair = @{ # OPTIONAL restorePath = $someString # REQUIRED path = $someString } } ) } # REQUIRED shareType = $someShareTypeEnum # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ShareTypeEnum]) for enum values. # REQUIRED osType = $someGuestOsType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GuestOsType]) for enum values. # REQUIRED locationId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the Update operation of the 'Fileset' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Fileset # API Operation: Update $query = New-RscMutationFileset -Operation Update # REQUIRED $query.Var.input = @{ # REQUIRED filesetUpdateProperties = @{ # OPTIONAL configuredSlaDomainId = $someString # OPTIONAL forceFull = $someBoolean # OPTIONAL forceFullPartitionIds = @( $someInt ) # OPTIONAL snapMirrorLabelForFullBackup = $someString # OPTIONAL snapMirrorLabelForIncrementalBackup = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: FilesetDetail </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationGcp"> <summary> Create a new RscQuery object for any of the 12 operations in the 'Google Cloud Platform' API domain: BulkSetCloudAccountProperties, CloudAccountAddManualAuthProject, CloudAccountAddProjects, CloudAccountDeleteProjects, CloudAccountOauthComplete, CloudAccountOauthInitiate, CloudAccountUpgradeProjects, CreateReaderTarget, CreateTarget, SetDefaultServiceAccountJwtConfig, UpdateTarget, or UpgradeCloudAccountPermissionsWithoutOauth. </summary> <description> New-RscMutationGcp creates a new mutation object for operations in the 'Google Cloud Platform' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 12 operations in the 'Google Cloud Platform' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: BulkSetCloudAccountProperties, CloudAccountAddManualAuthProject, CloudAccountAddProjects, CloudAccountDeleteProjects, CloudAccountOauthComplete, CloudAccountOauthInitiate, CloudAccountUpgradeProjects, CreateReaderTarget, CreateTarget, SetDefaultServiceAccountJwtConfig, UpdateTarget, or UpgradeCloudAccountPermissionsWithoutOauth. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationGcp -BulkSetCloudAccountProperties).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationGcp -BulkSetCloudAccountProperties).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the BulkSetCloudAccountProperties operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: BulkSetCloudAccountProperties $query = New-RscMutationGcp -Operation BulkSetCloudAccountProperties # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountIds = @( $someString ) # REQUIRED projectCredentialsJwt = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the CloudAccountAddManualAuthProject operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CloudAccountAddManualAuthProject $query = New-RscMutationGcp -Operation CloudAccountAddManualAuthProject # REQUIRED $query.Var.input = @{ # REQUIRED gcpNativeProjectId = $someString # REQUIRED gcpProjectName = $someString # REQUIRED gcpProjectNumber = $someInt64 # OPTIONAL organizationName = $someString # OPTIONAL serviceAccountJwtConfig = $someString # REQUIRED features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the CloudAccountAddProjects operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CloudAccountAddProjects $query = New-RscMutationGcp -Operation CloudAccountAddProjects # REQUIRED $query.Var.input = @{ # REQUIRED sessionId = $someString # REQUIRED nativeProtectionProjectIds = @( $someString ) # REQUIRED sharedVpcHostProjectIds = @( $someString ) # REQUIRED cloudAccountsProjectIds = @( $someString ) # OPTIONAL projectIds = @( $someString ) # OPTIONAL featuresWithPermissionGroups = @( @{ # OPTIONAL featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: GcpCloudAccountAddProjectsReply </code> </example> <example> Runs the CloudAccountDeleteProjects operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CloudAccountDeleteProjects $query = New-RscMutationGcp -Operation CloudAccountDeleteProjects # REQUIRED $query.Var.input = @{ # OPTIONAL sessionId = $someString # REQUIRED nativeProtectionProjectIds = @( $someString ) # REQUIRED sharedVpcHostProjectIds = @( $someString ) # REQUIRED cloudAccountsProjectIds = @( $someString ) # REQUIRED skipResourceDeletion = $someBoolean # OPTIONAL projectIds = @( $someString ) # OPTIONAL features = @( $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: GcpCloudAccountDeleteProjectsReply </code> </example> <example> Runs the CloudAccountOauthComplete operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CloudAccountOauthComplete $query = New-RscMutationGcp -Operation CloudAccountOauthComplete # REQUIRED $query.Var.input = @{ # REQUIRED sessionId = $someString # REQUIRED authorizationCode = $someString # REQUIRED redirectUrl = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: GcpCloudAccountOauthCompleteReply </code> </example> <example> Runs the CloudAccountOauthInitiate operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CloudAccountOauthInitiate $query = New-RscMutationGcp -Operation CloudAccountOauthInitiate # REQUIRED $query.Var.input = @{ # REQUIRED customerUrl = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: GcpCloudAccountOauthInitiateReply </code> </example> <example> Runs the CloudAccountUpgradeProjects operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CloudAccountUpgradeProjects $query = New-RscMutationGcp -Operation CloudAccountUpgradeProjects # REQUIRED $query.Var.input = @{ # REQUIRED sessionId = $someString # REQUIRED projectIds = @( $someString ) # OPTIONAL feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL featuresWithPermissionGroups = @( @{ # OPTIONAL featureType = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. # OPTIONAL permissionsGroups = @( $somePermissionsGroup # Call [Enum]::GetValues([RubrikSecurityCloud.Types.PermissionsGroup]) for enum values. ) } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: GcpCloudAccountUpgradeProjectsReply </code> </example> <example> Runs the CreateReaderTarget operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CreateReaderTarget $query = New-RscMutationGcp -Operation CreateReaderTarget # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED name = $someString # REQUIRED region = $someGcpRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpRegion]) for enum values. # REQUIRED storageClass = $someGcpStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpStorageClass]) for enum values. # REQUIRED bucket = $someString # REQUIRED encryptionPassword = $someString # REQUIRED serviceAccountJsonKey = $someString # OPTIONAL archivalProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # REQUIRED readerRetrievalMethod = $someReaderRetrievalMethod # Call [Enum]::GetValues([RubrikSecurityCloud.Types.ReaderRetrievalMethod]) for enum values. # REQUIRED bypassProxy = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the CreateTarget operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: CreateTarget $query = New-RscMutationGcp -Operation CreateTarget # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED name = $someString # REQUIRED region = $someGcpRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpRegion]) for enum values. # REQUIRED storageClass = $someGcpStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpStorageClass]) for enum values. # REQUIRED bucket = $someString # REQUIRED encryptionPassword = $someString # REQUIRED serviceAccountJsonKey = $someString # OPTIONAL archivalProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # REQUIRED bypassProxy = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the SetDefaultServiceAccountJwtConfig operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: SetDefaultServiceAccountJwtConfig $query = New-RscMutationGcp -Operation SetDefaultServiceAccountJwtConfig # REQUIRED $query.Var.input = @{ # REQUIRED serviceAccountName = $someString # REQUIRED serviceAccountJwtConfig = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.Boolean </code> </example> <example> Runs the UpdateTarget operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: UpdateTarget $query = New-RscMutationGcp -Operation UpdateTarget # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # OPTIONAL name = $someString # OPTIONAL region = $someGcpRegion # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpRegion]) for enum values. # OPTIONAL storageClass = $someGcpStorageClass # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpStorageClass]) for enum values. # OPTIONAL bucket = $someString # OPTIONAL encryptionPassword = $someString # OPTIONAL serviceAccountJsonKey = $someString # OPTIONAL archivalProxySettings = @{ # OPTIONAL proxyServer = $someString # OPTIONAL portNumber = $someInt # OPTIONAL username = $someString # OPTIONAL password = $someString # OPTIONAL protocol = $someString } # OPTIONAL bypassProxy = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: Target </code> </example> <example> Runs the UpgradeCloudAccountPermissionsWithoutOauth operation of the 'Google Cloud Platform' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Gcp # API Operation: UpgradeCloudAccountPermissionsWithoutOauth $query = New-RscMutationGcp -Operation UpgradeCloudAccountPermissionsWithoutOauth # REQUIRED $query.Var.input = @{ # REQUIRED cloudAccountId = $someString # REQUIRED feature = $someCloudAccountFeature # Call [Enum]::GetValues([RubrikSecurityCloud.Types.CloudAccountFeature]) for enum values. } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpgradeGcpCloudAccountPermissionsWithoutOauthReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationGcpNative"> <summary> Create a new RscQuery object for any of the 6 operations in the 'Google Cloud Platform Native' API domain: DisableProject, ExcludeDisksFromInstanceSnapshot, ExportDisk, ExportGceInstance, RefreshProjects, or RestoreGceInstance. </summary> <description> New-RscMutationGcpNative creates a new mutation object for operations in the 'Google Cloud Platform Native' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 6 operations in the 'Google Cloud Platform Native' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: DisableProject, ExcludeDisksFromInstanceSnapshot, ExportDisk, ExportGceInstance, RefreshProjects, or RestoreGceInstance. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationGcpNative -DisableProject).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationGcpNative -DisableProject).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the DisableProject operation of the 'Google Cloud Platform Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: GcpNative # API Operation: DisableProject $query = New-RscMutationGcpNative -Operation DisableProject # REQUIRED $query.Var.input = @{ # REQUIRED projectId = $someString # REQUIRED shouldDeleteNativeSnapshots = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the ExcludeDisksFromInstanceSnapshot operation of the 'Google Cloud Platform Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: GcpNative # API Operation: ExcludeDisksFromInstanceSnapshot $query = New-RscMutationGcpNative -Operation ExcludeDisksFromInstanceSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED instanceId = $someString # REQUIRED diskIdToIsExcluded = @( @{ # REQUIRED diskId = $someString # REQUIRED isExcluded = $someBoolean } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the ExportDisk operation of the 'Google Cloud Platform Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: GcpNative # API Operation: ExportDisk $query = New-RscMutationGcpNative -Operation ExportDisk # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED targetRegion = $someString # OPTIONAL targetZone = $someString # REQUIRED targetDiskName = $someString # REQUIRED targetDiskType = $someString # REQUIRED targetDiskSizeGb = $someInt # REQUIRED replaceAttached = $someBoolean # OPTIONAL replicaZones = @( $someString ) # REQUIRED shouldCopyLabels = $someBoolean # REQUIRED shouldAddRubrikLabels = $someBoolean # REQUIRED diskEncryptionType = $someDiskEncryptionType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DiskEncryptionType]) for enum values. # OPTIONAL kmsCryptoKey = @{ # OPTIONAL projectNativeId = $someString # OPTIONAL location = $someString # OPTIONAL keyRing = $someString # OPTIONAL key = $someString } # OPTIONAL kmsCryptoKeyResourceId = $someString # OPTIONAL targetGcpProjectRubrikId = $someString # OPTIONAL snapshotType = $someGcpSnapshotType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpSnapshotType]) for enum values. # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the ExportGceInstance operation of the 'Google Cloud Platform Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: GcpNative # API Operation: ExportGceInstance $query = New-RscMutationGcpNative -Operation ExportGceInstance # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED targetZone = $someString # REQUIRED targetInstanceName = $someString # REQUIRED targetMachineType = $someString # REQUIRED targetSubnetName = $someString # OPTIONAL targetNetworkTags = @( $someString ) # REQUIRED shouldPowerOff = $someBoolean # REQUIRED shouldCopyLabels = $someBoolean # REQUIRED shouldAddRubrikLabels = $someBoolean # OPTIONAL sharedVpcHostProjectNativeId = $someString # REQUIRED diskEncryptionType = $someDiskEncryptionType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DiskEncryptionType]) for enum values. # OPTIONAL kmsCryptoKey = @{ # OPTIONAL projectNativeId = $someString # OPTIONAL location = $someString # OPTIONAL keyRing = $someString # OPTIONAL key = $someString } # OPTIONAL kmsCryptoKeyResourceId = $someString # OPTIONAL targetGcpProjectRubrikId = $someString # OPTIONAL snapshotType = $someGcpSnapshotType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpSnapshotType]) for enum values. # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> <example> Runs the RefreshProjects operation of the 'Google Cloud Platform Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: GcpNative # API Operation: RefreshProjects $query = New-RscMutationGcpNative -Operation RefreshProjects # REQUIRED $query.Var.input = @{ # REQUIRED projectIds = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchAsyncJobStatus </code> </example> <example> Runs the RestoreGceInstance operation of the 'Google Cloud Platform Native' API domain. <code> PS > # Create an RscQuery object for: # API Domain: GcpNative # API Operation: RestoreGceInstance $query = New-RscMutationGcpNative -Operation RestoreGceInstance # REQUIRED $query.Var.input = @{ # REQUIRED snapshotId = $someString # REQUIRED shouldAddRubrikLabels = $someBoolean # REQUIRED shouldRestoreLabels = $someBoolean # REQUIRED shouldStartRestoredInstance = $someBoolean # OPTIONAL snapshotType = $someGcpSnapshotType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.GcpSnapshotType]) for enum values. # OPTIONAL archivedSnapshotId = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncJobStatus </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationHost"> <summary> Create a new RscQuery object for any of the 7 operations in the 'Host' API domain: BulkDelete, BulkRefresh, BulkRegister, BulkRegisterAsync, BulkUpdate, ChangeVfd, or Refresh. </summary> <description> New-RscMutationHost creates a new mutation object for operations in the 'Host' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 7 operations in the 'Host' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: BulkDelete, BulkRefresh, BulkRegister, BulkRegisterAsync, BulkUpdate, ChangeVfd, or Refresh. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationHost -BulkDelete).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationHost -BulkDelete).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the BulkDelete operation of the 'Host' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Host # API Operation: BulkDelete $query = New-RscMutationHost -Operation BulkDelete # REQUIRED $query.Var.input = @{ # REQUIRED ids = @( $someString ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the BulkRefresh operation of the 'Host' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Host # API Operation: BulkRefresh $query = New-RscMutationHost -Operation BulkRefresh # REQUIRED $query.Var.input = @{ # REQUIRED ids = @( $someString ) # REQUIRED shouldRunAsynchronously = $someBoolean } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkRefreshHostsReply </code> </example> <example> Runs the BulkRegister operation of the 'Host' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Host # API Operation: BulkRegister $query = New-RscMutationHost -Operation BulkRegister # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED hosts = @( @{ # OPTIONAL hasAgent = $someBoolean # OPTIONAL oracleQueryUser = $someString # OPTIONAL oracleSysDbaUser = $someString # OPTIONAL organizationId = $someString # OPTIONAL alias = $someString # OPTIONAL isOracleHost = $someBoolean # OPTIONAL mssqlSddCertificateId = $someString # OPTIONAL oracleSddWalletPath = $someString # OPTIONAL orgNetworkId = $someString # OPTIONAL osType = $someHostRegisterOsType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HostRegisterOsType]) for enum values. # OPTIONAL hdfsConfig = @{ # OPTIONAL hdfsBaseConfig = @{ # OPTIONAL apiToken = $someString # OPTIONAL kerberosTicket = $someString # OPTIONAL nameservices = $someString # OPTIONAL username = $someString # REQUIRED hosts = @( @{ # REQUIRED hostname = $someString # REQUIRED port = $someInt } ) } } # REQUIRED hostname = $someString # OPTIONAL mssqlSddUserCredentials = @{ # REQUIRED password = $someString # REQUIRED username = $someString } # OPTIONAL nasConfig = @{ # OPTIONAL apiCertificate = $someString # OPTIONAL apiEndpoint = $someString # OPTIONAL apiHostname = $someString # OPTIONAL apiPassword = $someString # OPTIONAL apiToken = $someString # OPTIONAL apiUsername = $someString # OPTIONAL zoneName = $someString # OPTIONAL isSnapdiffEnabled = $someBoolean # OPTIONAL isIsilonChangelistEnabled = $someBoolean # OPTIONAL isNetAppSnapDiffEnabled = $someBoolean # OPTIONAL isShareAutoDiscoveryEnabled = $someBoolean # OPTIONAL isNutanixCftEnabled = $someBoolean # REQUIRED vendorType = $someString } # OPTIONAL oracleSddUserCredentials = @{ # REQUIRED password = $someString # REQUIRED username = $someString } # OPTIONAL oracleSepsSettings = @{ # OPTIONAL isOracleSepsWalletEnabled = $someBoolean } } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkRegisterHostReply </code> </example> <example> Runs the BulkRegisterAsync operation of the 'Host' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Host # API Operation: BulkRegisterAsync $query = New-RscMutationHost -Operation BulkRegisterAsync # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED hosts = @( @{ # OPTIONAL hasAgent = $someBoolean # OPTIONAL oracleQueryUser = $someString # OPTIONAL oracleSysDbaUser = $someString # OPTIONAL organizationId = $someString # OPTIONAL alias = $someString # OPTIONAL isOracleHost = $someBoolean # OPTIONAL mssqlSddCertificateId = $someString # OPTIONAL oracleSddWalletPath = $someString # OPTIONAL orgNetworkId = $someString # OPTIONAL osType = $someHostRegisterOsType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HostRegisterOsType]) for enum values. # OPTIONAL hdfsConfig = @{ # OPTIONAL hdfsBaseConfig = @{ # OPTIONAL apiToken = $someString # OPTIONAL kerberosTicket = $someString # OPTIONAL nameservices = $someString # OPTIONAL username = $someString # REQUIRED hosts = @( @{ # REQUIRED hostname = $someString # REQUIRED port = $someInt } ) } } # REQUIRED hostname = $someString # OPTIONAL mssqlSddUserCredentials = @{ # REQUIRED password = $someString # REQUIRED username = $someString } # OPTIONAL nasConfig = @{ # OPTIONAL apiCertificate = $someString # OPTIONAL apiEndpoint = $someString # OPTIONAL apiHostname = $someString # OPTIONAL apiPassword = $someString # OPTIONAL apiToken = $someString # OPTIONAL apiUsername = $someString # OPTIONAL zoneName = $someString # OPTIONAL isSnapdiffEnabled = $someBoolean # OPTIONAL isIsilonChangelistEnabled = $someBoolean # OPTIONAL isNetAppSnapDiffEnabled = $someBoolean # OPTIONAL isShareAutoDiscoveryEnabled = $someBoolean # OPTIONAL isNutanixCftEnabled = $someBoolean # REQUIRED vendorType = $someString } # OPTIONAL oracleSddUserCredentials = @{ # REQUIRED password = $someString # REQUIRED username = $someString } # OPTIONAL oracleSepsSettings = @{ # OPTIONAL isOracleSepsWalletEnabled = $someBoolean } } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkRegisterHostAsyncReply </code> </example> <example> Runs the BulkUpdate operation of the 'Host' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Host # API Operation: BulkUpdate $query = New-RscMutationHost -Operation BulkUpdate # REQUIRED $query.Var.input = @{ # REQUIRED hostUpdateProperties = @( @{ # REQUIRED hostId = $someString # REQUIRED updateProperties = @{ # OPTIONAL compressionEnabled = $someBoolean # OPTIONAL hostVfdDriverInstalled = $someBoolean # OPTIONAL hostname = $someString # OPTIONAL mssqlCbtDriverInstalled = $someBoolean # OPTIONAL oracleQueryUser = $someString # OPTIONAL oracleSysDbaUser = $someString # OPTIONAL alias = $someString # OPTIONAL isOracleHost = $someBoolean # OPTIONAL isUpdateCertAndAgentIdEnabled = $someBoolean # OPTIONAL isRefreshPaused = $someBoolean # OPTIONAL mssqlSddCertificateId = $someString # OPTIONAL oracleSddWalletPath = $someString # OPTIONAL hostVfdEnabled = $someHostVfdInstallConfig # Call [Enum]::GetValues([RubrikSecurityCloud.Types.HostVfdInstallConfig]) for enum values. # OPTIONAL mssqlCbtEnabled = $someMssqlCbtStatusType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.MssqlCbtStatusType]) for enum values. # OPTIONAL hdfsConfig = @{ # OPTIONAL hdfsBaseConfig = @{ # OPTIONAL apiToken = $someString # OPTIONAL kerberosTicket = $someString # OPTIONAL nameservices = $someString # OPTIONAL username = $someString # REQUIRED hosts = @( @{ # REQUIRED hostname = $someString # REQUIRED port = $someInt } ) } } # OPTIONAL mssqlSddUserCredentials = @{ # REQUIRED password = $someString # REQUIRED username = $someString } # OPTIONAL nasConfig = @{ # OPTIONAL apiCertificate = $someString # OPTIONAL apiEndpoint = $someString # OPTIONAL apiHostname = $someString # OPTIONAL apiPassword = $someString # OPTIONAL apiToken = $someString # OPTIONAL apiUsername = $someString # OPTIONAL zoneName = $someString # OPTIONAL isSnapdiffEnabled = $someBoolean # OPTIONAL isIsilonChangelistEnabled = $someBoolean # OPTIONAL isNetAppSnapDiffEnabled = $someBoolean # OPTIONAL isShareAutoDiscoveryEnabled = $someBoolean # OPTIONAL isNutanixCftEnabled = $someBoolean # REQUIRED vendorType = $someString } # OPTIONAL oracleSddUserCredentials = @{ # REQUIRED password = $someString # REQUIRED username = $someString } # OPTIONAL oracleSepsSettings = @{ # OPTIONAL isOracleSepsWalletEnabled = $someBoolean } } } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BulkUpdateHostReply </code> </example> <example> Runs the ChangeVfd operation of the 'Host' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Host # API Operation: ChangeVfd $query = New-RscMutationHost -Operation ChangeVfd # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # REQUIRED hostIds = @( $someString ) # REQUIRED install = $someBoolean } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ChangeVfdOnHostReply </code> </example> <example> Runs the Refresh operation of the 'Host' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Host # API Operation: Refresh $query = New-RscMutationHost -Operation Refresh # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RefreshHostReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationHyperv"> <summary> Create a new RscQuery object for any of the 26 operations in the 'Microsoft Hyper-V' API domain: BatchExportVm, BatchInstantRecoverVm, BatchMountVm, BatchOnDemandBackupVm, CreateVirtualMachineSnapshotDiskMount, CreateVirtualMachineSnapshotMount, DeleteAllSnapshots, DeleteVirtualMachineSnapshot, DeleteVirtualMachineSnapshotMount, DownloadSnapshotFromLocation, DownloadVirtualMachineLevelFiles, DownloadVirtualMachineSnapshot, DownloadVirtualMachineSnapshotFiles, ExportVirtualMachine, InplaceExportVirtualMachine, InstantRecoverVirtualMachineSnapshot, OnDemandSnapshot, RefreshScvmm, RefreshServer, RegisterAgentVirtualMachine, RegisterScvmm, RestoreVirtualMachineSnapshotFiles, ScvmmDelete, ScvmmUpdate, UpdateVirtualMachine, or UpdateVirtualMachineSnapshotMount. </summary> <description> New-RscMutationHyperv creates a new mutation object for operations in the 'Microsoft Hyper-V' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 26 operations in the 'Microsoft Hyper-V' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: BatchExportVm, BatchInstantRecoverVm, BatchMountVm, BatchOnDemandBackupVm, CreateVirtualMachineSnapshotDiskMount, CreateVirtualMachineSnapshotMount, DeleteAllSnapshots, DeleteVirtualMachineSnapshot, DeleteVirtualMachineSnapshotMount, DownloadSnapshotFromLocation, DownloadVirtualMachineLevelFiles, DownloadVirtualMachineSnapshot, DownloadVirtualMachineSnapshotFiles, ExportVirtualMachine, InplaceExportVirtualMachine, InstantRecoverVirtualMachineSnapshot, OnDemandSnapshot, RefreshScvmm, RefreshServer, RegisterAgentVirtualMachine, RegisterScvmm, RestoreVirtualMachineSnapshotFiles, ScvmmDelete, ScvmmUpdate, UpdateVirtualMachine, or UpdateVirtualMachineSnapshotMount. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationHyperv -BatchExportVm).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationHyperv -BatchExportVm).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the BatchExportVm operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: BatchExportVm $query = New-RscMutationHyperv -Operation BatchExportVm # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED config = @{ # REQUIRED snapshots = @( @{ # OPTIONAL snapshotAfterDate = $someDateTime # OPTIONAL snapshotBeforeDate = $someDateTime # OPTIONAL snapshotId = $someString # OPTIONAL vmNamePrefix = $someString # REQUIRED exportConfig = @{ # OPTIONAL disableNetwork = $someBoolean # OPTIONAL hostId = $someString # OPTIONAL powerOn = $someBoolean # OPTIONAL removeNetworkDevices = $someBoolean # OPTIONAL vmName = $someString # REQUIRED path = $someString } # REQUIRED vmId = $someString } ) } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchExportHypervVmReply </code> </example> <example> Runs the BatchInstantRecoverVm operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: BatchInstantRecoverVm $query = New-RscMutationHyperv -Operation BatchInstantRecoverVm # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED config = @{ # REQUIRED snapshots = @( @{ # OPTIONAL snapshotAfterDate = $someDateTime # OPTIONAL snapshotBeforeDate = $someDateTime # OPTIONAL snapshotId = $someString # REQUIRED instantRecoveryConfig = @{ # OPTIONAL hostId = $someString # OPTIONAL vmName = $someString } # REQUIRED vmId = $someString } ) } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchInstantRecoverHypervVmReply </code> </example> <example> Runs the BatchMountVm operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: BatchMountVm $query = New-RscMutationHyperv -Operation BatchMountVm # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED config = @{ # REQUIRED snapshots = @( @{ # OPTIONAL snapshotAfterDate = $someDateTime # OPTIONAL snapshotBeforeDate = $someDateTime # OPTIONAL snapshotId = $someString # OPTIONAL vmNamePrefix = $someString # REQUIRED mountConfig = @{ # OPTIONAL disableNetwork = $someBoolean # OPTIONAL hostId = $someString # OPTIONAL powerOn = $someBoolean # OPTIONAL removeNetworkDevices = $someBoolean # OPTIONAL vmName = $someString # OPTIONAL shouldMigrateDataStore = $someBoolean # OPTIONAL destinationFolder = $someString } # REQUIRED vmId = $someString } ) } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchMountHypervVmReply </code> </example> <example> Runs the BatchOnDemandBackupVm operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: BatchOnDemandBackupVm $query = New-RscMutationHyperv -Operation BatchOnDemandBackupVm # REQUIRED $query.Var.input = @{ # OPTIONAL userNote = $someString # REQUIRED config = @{ # REQUIRED vms = @( @{ # OPTIONAL backupConfig = @{ # OPTIONAL slaId = $someString } # OPTIONAL vmId = $someString } ) } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: BatchOnDemandBackupHypervVmReply </code> </example> <example> Runs the CreateVirtualMachineSnapshotDiskMount operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: CreateVirtualMachineSnapshotDiskMount $query = New-RscMutationHyperv -Operation CreateVirtualMachineSnapshotDiskMount # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # REQUIRED targetVirtualMachineId = $someString # REQUIRED virtualDiskIds = @( $someString ) } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the CreateVirtualMachineSnapshotMount operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: CreateVirtualMachineSnapshotMount $query = New-RscMutationHyperv -Operation CreateVirtualMachineSnapshotMount # REQUIRED $query.Var.input = @{ # OPTIONAL config = @{ # OPTIONAL disableNetwork = $someBoolean # OPTIONAL hostId = $someString # OPTIONAL powerOn = $someBoolean # OPTIONAL removeNetworkDevices = $someBoolean # OPTIONAL vmName = $someString # OPTIONAL shouldMigrateDataStore = $someBoolean # OPTIONAL destinationFolder = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DeleteAllSnapshots operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: DeleteAllSnapshots $query = New-RscMutationHyperv -Operation DeleteAllSnapshots # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RequestSuccess </code> </example> <example> Runs the DeleteVirtualMachineSnapshot operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: DeleteVirtualMachineSnapshot $query = New-RscMutationHyperv -Operation DeleteVirtualMachineSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED location = $someInternalDeleteHypervVirtualMachineSnapshotRequestLocation # Call [Enum]::GetValues([RubrikSecurityCloud.Types.InternalDeleteHypervVirtualMachineSnapshotRequestLocation]) for enum values. # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RequestSuccess </code> </example> <example> Runs the DeleteVirtualMachineSnapshotMount operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: DeleteVirtualMachineSnapshotMount $query = New-RscMutationHyperv -Operation DeleteVirtualMachineSnapshotMount # REQUIRED $query.Var.input = @{ # OPTIONAL force = $someBoolean # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DownloadSnapshotFromLocation operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: DownloadSnapshotFromLocation $query = New-RscMutationHyperv -Operation DownloadSnapshotFromLocation # REQUIRED $query.Var.input = @{ # REQUIRED locationId = $someString # REQUIRED snapshotId = $someString # REQUIRED downloadConfig = @{ # OPTIONAL slaId = $someString } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DownloadVirtualMachineLevelFiles operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: DownloadVirtualMachineLevelFiles $query = New-RscMutationHyperv -Operation DownloadVirtualMachineLevelFiles # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # REQUIRED configFileExtensions = @( $someString ) # REQUIRED virtualDiskIds = @( $someString ) } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DownloadVirtualMachineSnapshot operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: DownloadVirtualMachineSnapshot $query = New-RscMutationHyperv -Operation DownloadVirtualMachineSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the DownloadVirtualMachineSnapshotFiles operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: DownloadVirtualMachineSnapshotFiles $query = New-RscMutationHyperv -Operation DownloadVirtualMachineSnapshotFiles # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL zipPassword = $someString # OPTIONAL legalHoldDownloadConfig = @{ # REQUIRED isLegalHoldDownload = $someBoolean } # REQUIRED paths = @( $someString ) } # REQUIRED id = $someString # OPTIONAL userNote = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the ExportVirtualMachine operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: ExportVirtualMachine $query = New-RscMutationHyperv -Operation ExportVirtualMachine # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL disableNetwork = $someBoolean # OPTIONAL hostId = $someString # OPTIONAL powerOn = $someBoolean # OPTIONAL removeNetworkDevices = $someBoolean # OPTIONAL vmName = $someString # REQUIRED path = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the InplaceExportVirtualMachine operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: InplaceExportVirtualMachine $query = New-RscMutationHyperv -Operation InplaceExportVirtualMachine # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL exportVmPath = $someString # OPTIONAL hostId = $someString # OPTIONAL shouldKeepHypervVmCopyAfterRecovery = $someBoolean } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the InstantRecoverVirtualMachineSnapshot operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: InstantRecoverVirtualMachineSnapshot $query = New-RscMutationHyperv -Operation InstantRecoverVirtualMachineSnapshot # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL hostId = $someString # OPTIONAL vmName = $someString } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the OnDemandSnapshot operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: OnDemandSnapshot $query = New-RscMutationHyperv -Operation OnDemandSnapshot # REQUIRED $query.Var.input = @{ # OPTIONAL config = @{ # OPTIONAL slaId = $someString } # REQUIRED id = $someString # OPTIONAL userNote = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the RefreshScvmm operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: RefreshScvmm $query = New-RscMutationHyperv -Operation RefreshScvmm # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the RefreshServer operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: RefreshServer $query = New-RscMutationHyperv -Operation RefreshServer # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the RegisterAgentVirtualMachine operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: RegisterAgentVirtualMachine $query = New-RscMutationHyperv -Operation RegisterAgentVirtualMachine # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: RequestSuccess </code> </example> <example> Runs the RegisterScvmm operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: RegisterScvmm $query = New-RscMutationHyperv -Operation RegisterScvmm # REQUIRED $query.Var.input = @{ # REQUIRED clusterUuid = $someString # REQUIRED scvmm = @{ # REQUIRED hostname = $someString # REQUIRED runAsAccount = $someString # REQUIRED shouldDeployAgent = $someBoolean } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the RestoreVirtualMachineSnapshotFiles operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: RestoreVirtualMachineSnapshotFiles $query = New-RscMutationHyperv -Operation RestoreVirtualMachineSnapshotFiles # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # OPTIONAL targetVirtualMachineId = $someString # OPTIONAL shouldIgnoreError = $someBoolean # REQUIRED restoreConfig = @( @{ # REQUIRED path = $someString # REQUIRED restorePath = $someString } ) } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: AsyncRequestStatus </code> </example> <example> Runs the ScvmmDelete operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: ScvmmDelete $query = New-RscMutationHyperv -Operation ScvmmDelete # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: ResponseSuccess </code> </example> <example> Runs the ScvmmUpdate operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: ScvmmUpdate $query = New-RscMutationHyperv -Operation ScvmmUpdate # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED updateProperties = @{ # OPTIONAL configuredSlaDomainId = $someString # OPTIONAL hostname = $someString # OPTIONAL runAsAccount = $someString # OPTIONAL shouldDeployAgent = $someBoolean } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: HypervScvmmUpdateReply </code> </example> <example> Runs the UpdateVirtualMachine operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: UpdateVirtualMachine $query = New-RscMutationHyperv -Operation UpdateVirtualMachine # REQUIRED $query.Var.input = @{ # REQUIRED id = $someString # REQUIRED vmUpdateProperties = @{ # OPTIONAL configuredSlaDomainId = $someString # OPTIONAL virtualDiskIdsExcludedFromSnapshot = @( $someString ) # OPTIONAL cloudInstantiationSpec = @{ # REQUIRED imageRetentionInSeconds = $someInt64 } } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateHypervVirtualMachineReply </code> </example> <example> Runs the UpdateVirtualMachineSnapshotMount operation of the 'Microsoft Hyper-V' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Hyperv # API Operation: UpdateVirtualMachineSnapshotMount $query = New-RscMutationHyperv -Operation UpdateVirtualMachineSnapshotMount # REQUIRED $query.Var.input = @{ # REQUIRED config = @{ # REQUIRED powerStatus = $someBoolean } # REQUIRED id = $someString } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: UpdateHypervVirtualMachineSnapshotMountReply </code> </example> </member> <member name="T:RubrikSecurityCloud.PowerShell.Cmdlets.New_RscMutationIntegration"> <summary> Create a new RscQuery object for any of the 7 operations in the 'Integration' API domain: CreateIntegration, CreateIntegrations, DeleteIntegration, DeleteIntegrations, EnableIntegration, UpdateIntegration, or UpdateIntegrations. </summary> <description> New-RscMutationIntegration creates a new mutation object for operations in the 'Integration' API domain. It only creates a data structure, it does not execute the operation. This cmdlet does not need a connection to run. To execute the operation, either call Invoke() on the object returned by this cmdlet, or pass the object to Invoke-Rsc. There are 7 operations in the 'Integration' API domain. Select the operation this query is for by specifying the appropriate value for the -Operation parameter; one of: CreateIntegration, CreateIntegrations, DeleteIntegration, DeleteIntegrations, EnableIntegration, UpdateIntegration, or UpdateIntegrations. Each operation has its own set of variables that can be set with the -Var parameter. For more info about the variables, call Info() on the object returned by this cmdlet, for example: (New-RscMutationIntegration -CreateIntegration).Info(). Each operation also has its own set of fields that can be selected for retrieval. If you do not specify any fields, a set of default fields will be selected. The selection is rule-based, and tries to select the most commonly used fields. For example if a field is named 'id' or 'name', it will be selected. If you give -FieldProfile DETAIL, then another set of rules will be used to select more fields on top of the default fields. The set of rules for selecting fields is called a field profile. You can specify a field profile with the -FieldProfile parameter. You can add or remove fields from the field profile with the -AddField and -RemoveField parameters. If you end up with too many -AddField and -RemoveField parameters, you can list them in a text file, one per line, with a '+' or '-' prefix, and pass the file name to the -FilePatch parameter. Profiles and Patches are one way to customize the fields that are selected. Another way is to specify the fields by passing the -Field parameter an object that contains the fields you want to select as properties. Any property that is not null in that object is interpreted as a field to select (and the actual values they are set to do not matter). The [RubrikSecurityCloud.Types] namespace contains a set of classes that you can use to specify fields. To know what [RubrikSecurityCloud.Types] object to use for a specific operation, call Info() on the object returned by this cmdlet, for example: (New-RscMutationIntegration -CreateIntegration).Info(). You can combine a -Field parameter with patching parameters. -Field is applied first, then -FilePatch, -AddField and -RemoveField. </description> <example> Runs the CreateIntegration operation of the 'Integration' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Integration # API Operation: CreateIntegration $query = New-RscMutationIntegration -Operation CreateIntegration # REQUIRED $query.Var.input = @{ # REQUIRED name = $someString # REQUIRED integrationType = $someIntegrationType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.IntegrationType]) for enum values. # REQUIRED config = @{ # OPTIONAL dataLossPrevention = @{ # OPTIONAL policies = @( $someString ) # OPTIONAL genericNas = @{ # REQUIRED workloadId = $someString # REQUIRED shareType = $someDlpConfigShareType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigShareType]) for enum values. # REQUIRED shareId = $someString # REQUIRED path = $someString } # OPTIONAL vmwareVm = @{ # REQUIRED workloadId = $someString # REQUIRED osType = $someDlpConfigOsType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigOsType]) for enum values. # REQUIRED path = $someString } # OPTIONAL serviceAccountId = $someString # OPTIONAL serviceAccountName = $someString # OPTIONAL status = @{ # OPTIONAL code = $someDlpStatusCode # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpStatusCode]) for enum values. } # REQUIRED targetType = $someDlpConfigTargetType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigTargetType]) for enum values. } # OPTIONAL serviceNowItsm = @{ # REQUIRED serviceAccountId = $someString } # OPTIONAL okta = @{ # REQUIRED oktaTenantUrl = $someString } # OPTIONAL microsoftPurview = @{ # REQUIRED tenantId = $someString # REQUIRED o365OrgId = $someString } # OPTIONAL pam = @{ # OPTIONAL ipAddresses = @( $someString ) } } } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateIntegrationReply </code> </example> <example> Runs the CreateIntegrations operation of the 'Integration' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Integration # API Operation: CreateIntegrations $query = New-RscMutationIntegration -Operation CreateIntegrations # REQUIRED $query.Var.input = @{ # REQUIRED integrations = @( @{ # REQUIRED name = $someString # REQUIRED integrationType = $someIntegrationType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.IntegrationType]) for enum values. # REQUIRED config = @{ # OPTIONAL dataLossPrevention = @{ # OPTIONAL policies = @( $someString ) # OPTIONAL genericNas = @{ # REQUIRED workloadId = $someString # REQUIRED shareType = $someDlpConfigShareType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigShareType]) for enum values. # REQUIRED shareId = $someString # REQUIRED path = $someString } # OPTIONAL vmwareVm = @{ # REQUIRED workloadId = $someString # REQUIRED osType = $someDlpConfigOsType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigOsType]) for enum values. # REQUIRED path = $someString } # OPTIONAL serviceAccountId = $someString # OPTIONAL serviceAccountName = $someString # OPTIONAL status = @{ # OPTIONAL code = $someDlpStatusCode # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpStatusCode]) for enum values. } # REQUIRED targetType = $someDlpConfigTargetType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigTargetType]) for enum values. } # OPTIONAL serviceNowItsm = @{ # REQUIRED serviceAccountId = $someString } # OPTIONAL okta = @{ # REQUIRED oktaTenantUrl = $someString } # OPTIONAL microsoftPurview = @{ # REQUIRED tenantId = $someString # REQUIRED o365OrgId = $someString } # OPTIONAL pam = @{ # OPTIONAL ipAddresses = @( $someString ) } } } ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: CreateIntegrationsReply </code> </example> <example> Runs the DeleteIntegration operation of the 'Integration' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Integration # API Operation: DeleteIntegration $query = New-RscMutationIntegration -Operation DeleteIntegration # REQUIRED $query.Var.input = @{ # REQUIRED id = $someInt64 } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the DeleteIntegrations operation of the 'Integration' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Integration # API Operation: DeleteIntegrations $query = New-RscMutationIntegration -Operation DeleteIntegrations # REQUIRED $query.Var.input = @{ # REQUIRED ids = @( $someInt64 ) } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the EnableIntegration operation of the 'Integration' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Integration # API Operation: EnableIntegration $query = New-RscMutationIntegration -Operation EnableIntegration # REQUIRED $query.Var.input = @{ # OPTIONAL id = $someInt64 } # Execute the query $result = $query | Invoke-Rsc Write-Host $result.GetType().Name # prints: System.String </code> </example> <example> Runs the UpdateIntegration operation of the 'Integration' API domain. <code> PS > # Create an RscQuery object for: # API Domain: Integration # API Operation: UpdateIntegration $query = New-RscMutationIntegration -Operation UpdateIntegration # REQUIRED $query.Var.input = @{ # REQUIRED id = $someInt64 # REQUIRED name = $someString # REQUIRED integrationType = $someIntegrationType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.IntegrationType]) for enum values. # REQUIRED config = @{ # OPTIONAL dataLossPrevention = @{ # OPTIONAL policies = @( $someString ) # OPTIONAL genericNas = @{ # REQUIRED workloadId = $someString # REQUIRED shareType = $someDlpConfigShareType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigShareType]) for enum values. # REQUIRED shareId = $someString # REQUIRED path = $someString } # OPTIONAL vmwareVm = @{ # REQUIRED workloadId = $someString # REQUIRED osType = $someDlpConfigOsType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigOsType]) for enum values. # REQUIRED path = $someString } # OPTIONAL serviceAccountId = $someString # OPTIONAL serviceAccountName = $someString # OPTIONAL status = @{ # OPTIONAL code = $someDlpStatusCode # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpStatusCode]) for enum values. } # REQUIRED targetType = $someDlpConfigTargetType # Call [Enum]::GetValues([RubrikSecurityCloud.Types.DlpConfigTarge |