Updating options of VMware instances

You can edit options of VMware instances including VMware data centers, folders, virtual machines, and hard disks.

Method and URI

To apply options to VMware instances, use a POST method and a URI:

POST    https://{hostname|IP}/ngp/hypervisor

This POST request is idempotent.

Parameters

Parameter 1: action

Specify the type of action.

  • Value: applyOptions

  • Type: System string. Required. Available in the web interface.

Data

Data 1: subtype

The type of the virtualized system.

  • Value: vmware

  • Type: System string. Required. Available in the web user inteface.

Key

Value (example)

Type

Description

subtype

vmware

System |b|

Type of hypervisor servers

resources

[{…}, …, {…}]

Array |b|

Specify hypervisor servers

options

[{…}, …, {…}]

Array |b|

Specify options

resources.

Key

Value (example)

Type

Description

href

https://…

String |s|

URI of the VMware instance

id

4f0c8182d0507f2f4a3ffe374bc40a32

String |s|

ID of the VMware instance

metapath

/MS:1001/DC:f76ed…/FLDR:4f0c…

String |s|

Metapath of the VMware instance

Tip

To get a {hypervisorHypervisorId} by the hostname or IPv4 address of the vCenter Server, follow the instructions in Getting a {hypervisorHypervisorId}. To get a {hypervisorFolderId} by the folder name, follow the instructions in :ref:Getting a {hypervisorFolderId} for a VMware environment`.

resources > href

Datacenter’s URI is a string with the format of

https://{hostname|IP}/api/hypervisor/{hypervisorHypervisorId}/folder/{hypervisorFolderId}

Tip

To get a {hypervisorFolderId} by hostname/IP, follow the instructions in Getting a {hypervisorDatacenterId}.

resources > metapath.

Folder’s metapath (metapath) is a string with the format of

/MS:{hypervisorHypervisorId}/DC:{hypervisorDatacenterId}/FLDR:{hypervisorFolderId}

options.

Backup Options.

Key

Value (example)

Type

Description

skipReadonlyDS

true

Boolean |b|

Skip Read-only datastores

skipIAMounts

true

Boolean |b|

Skip tempotary datastores mounted for Instant Access

fullcopymethod

vadp

System |b|

***

proxySelection

https://10.0…

String |b|

URI of the VADP server or the site. Default site will be used when an empty string ("") is given

priority

5

Integer |b|

Priority

For proxySelection, use the URI of either the site in which VADP servers present or that of an individual VADP server.

https://{hostname|IP}/api/site/{siteId}
https://{hostname|IP}/api/vadp/{vadpId}

Snapshot Options.

Key

Value (example)

Type

Description

makeApplicationConsistent

true

Boolean |b|

Make VM snapshot application/file system conssistent

snapshotRetries

2

Integer |b|

VM Snapshot retry attempts

fallbackToUniquescedSnapshot

true

Boolean |b|

Fall back to unquiesced snapshot if quiesced snapshot fails

Agent Options.

Key

Value (example)

Type

Description

enableLogTruncate

false

Boolean |b|

Truncate SQL logs

enableFH

false

Boolean |b|

Catalog file metadata

FHExcludedPath

C:\Program Files;/usr/bin

String |b|

Exclude files for cataloging file metadata

username

sarah.wiseman

String |b|

Guest OS Username for cataloging file metadata

password

@sw!9*Q7C.V<y-h”

String |b|

Guest OS Password for cataloging file metadata; use \" for "

For FHExcludedPath, separate Windows and Linux paths with a semi-colon (;). Use double backslashes (\\) to represent a single backslash. Below is the default value:

C:\\Program Files;C:\\Program Files (x86);C:\\Windows;C:\\winnt;C:\\Drivers;/tmp
↪;/usr/bin;/bin;/sbin

Example: Apply options to a VMware folder

Assume that you want to associate the VMware folder and options as below:

  • Hypervisor: VMware - Dallas

    • Type: VMware

    • ``{hypervisorHypervisorId}``: 1001

  • Datacenter: BlueMachines - Dallas - ESXi1

    • ``{hypervisorDatacenterId}``: f76edd18b1d3ce7865bbab693881ab53

  • Folders: Lab folder, Production folder

    • Lab folder: {hypervisorFolderId} 7cdc5a08345ca923f02d330bc131b5a0

    • Production folder: {hypervisorFolderId} e7d4515b0177f815491f91b7dee932e0

  • Options:

    • Backup options:

      • Skip Read-only datastores: Yes

      • Skip temporary datastores mounted for Instant Access: Yes

      • VADP Proxy: (Default)

      • Priority: 5

    • Snapshot Options:

      • Make VM snapshot application/file systems consistent: Yes

      • VM Snapshot retry attempts: 2

      • Fall back to unquiesced snapshot fails: Yes

    • Agent Options:

      • Truncate SQL logs: No

      • Catalog file metadata: No

      • Exclude Files:

        • C:\Program Files

        • C:\Program Files (x86)

        • C:\Windows

        • C:\winnt

        • C:\Drivers

        • /tmp

        • /usr/bin

        • /bin

        • /sbin

      • Guest OS Username: sarah.wiseman

      • Guest OS Password: @sw!9*Q7C.V<y-h"

hypervisor_hypervisor_id = "1001"
hypervisor_datacenter_id = "f76edd18b1d3ce7865bbab693881ab53"

hypervisor_folder_id1 = "7cdc5a08345ca923f02d330bc131b5a0"
hypervisor_folder_id2 = "e7d4515b0177f815491f91b7dee932e0"

_params = {"action": "applySLAPolicies"}

_data = f'''{{
    "subtype":   "vmware",
    "version":   "1.0",
    "resources": [
        {{
            "href":         "https://{spp_ipv4}/api/hypervisor/{hypervisor_hyper
visor_id}/folder/{hypervisor_folder_id1}",
            "id":           "{hypervisor_folder_id1}",
            "metadataPath": "/MS:{hypervisor_hypervisor_id}/DC:{hypervisor_datac
enter_id}/FLDR:{hypervisor_folder_id1}"
        }},
        {{
            "href":         "https://{spp_ipv4}/api/hypervisor/{hypervisor_hyper
visor_id}/folder/{hypervisor_folder_id2}",
            "id":           "{hypervisor_folder_id2}",
            "metadataPath": "/MS:{hypervisor_hypervisor_id}/DC:{hypervisor_datac
enter_id}/FLDR:{hypervisor_folder_id2}"
        }}
    ],
    "options": {{
        "skipReadonlyDS":               true,
        "skipIAMounts":                 true,
        "fullcopymethod":               "vadp",
        "proxySelection":               "",
        "priority":                     5,
        "makeApplicationConsistent":    true,
        "snapshotRetries":              2,
        "fallbackToUnquiescedSnapshot": true,
        "enableLogTruncate":            false,
        "enableFH":                     false,
        "FHExcludedPath":               "C:\\Program Files;C:\\Program Files (x8
↪6);C:\\Windows;C:\\winnt;C:\\Drivers;/tmp;/usr/bin;/bin;/sbin",
        "username":                     "sarah.wiseman",
        "password":                     "@sw!9*Q7C.V<y-h\""
    }}


}}'''

requests.post('https://' + spp_ipv4 + '/ngp/hypervisor',
    headers={...}, params="", data=_data, verify=...)
_images/refmanageprotection_virtualizedsystems_vmware_options01.png

The same action can be taken in the IBM Spectrum Protect Plus web user interface: In the VMware pane, select VMware instances, click Select options and cofnigure the available options.

You will receive a response like below with the HTTP status of 201 (Created).

{
    "statusCode": 201,
    "response": [
        {
            "links": {...},
            "name": "vmware_Silver",
            "type": "protection",
            "subType": "vmware",
            "serviceId": "serviceprovider.protection.hypervisor",
            "description": "",
            "version": "3.0",
            "rbacPath": "root:0/policy:0/policytype:serviceprovider.protection.h
↪ypervisor/policy:1047",
            "tenantId": 1000,
            "creationTime": 1577730881493,
            "lastUpdated": 0,
            "spec": {
                "source": [],
                "storageworkflow": [
                    {
                        "id": "2001",
                        "name": "Silver",
                        "href": "http://localhost:8082/api/spec/storageprofile/2
↪001"
                    }
                ],
                "option": {
                    "maxtasks": 0,
                    "vmsnapshot": {
                        "takesnapshot": false,
                        "concurrentsnapshotsonesx": 3,
                        "includememory": false,
                        "consistency": false,
                        "consistencyvms": [],
                        "scriptvms": [],
                        "truncateapplicationlogs": false
                    },
                    "skipreadonlydatastores": true
                },
                "notification": []
            },
            "logicalDelete": false,
            "script": {
                "preScript": null,
                "postScript": null,
                "preSnap": null,
                "postSnap": null,
                "preGuest": null,
                "postGuest": null,
                "preGuestSnap": null,
                "postGuestSnap": null,
                "continueScriptsOnError": false
            },
            "id": "1047"
        },
        {
            "links": {...},
            "name": "vmware_Silver",
            "description": "Auto-generated job for Policy vmware_Silver",
            "policyId": "1047",
            "policyName": "vmware_Silver",
            "type": "protection",
            "typeDisplayName": "Protection",
            "subType": "vmware",
            "subTypeDisplayName": "VMware",
            "serviceId": "serviceprovider.protection.hypervisor",
            "displayName": "Hypervisor Backup",
            "status": "IDLE",
            "statusDisplayName": "Idle",
            "lastSessionStatus": null,
            "lastSessionStatusDisplayName": null,
            "triggerIds": [
                "1038"
            ],
            "triggerData": [
                {
                    "triggerId": "1038",
                    "triggerInfo": {
                        "subpolicy_id": "VADP Backup(2001)"
                    }
                }
            ],
            "lastRunTime": null,
            "nextFireTime": 1577737579000,
            "lastSessionDuration": null,
            "tenantId": 1000,
            "actions": null,
            "statistics": null,
            "id": "1040"
        }
    ]
}