From 356e64c9da8fc67c9b10d63faa9058fef71c2473 Mon Sep 17 00:00:00 2001 From: Build Automation Date: Wed, 29 Nov 2017 09:58:48 -0700 Subject: [PATCH 001/139] {"pythonVersion":"1.5.0.88", "descriptorVersion":"1.5.0.36", "generatorVersion": "1.5.0.72"} --- README.rst | 2 +- docs/conf.py | 4 ++-- python_version.json | 4 ++-- setup.cfg | 2 +- setup.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index 5de71771..c4512fe8 100644 --- a/README.rst +++ b/README.rst @@ -8,7 +8,7 @@ Python SDK library for interacting with SolidFire Element API Current Release --------------- -Version 1.5.0.87 +Version 1.5.0.88 Description ----------- diff --git a/docs/conf.py b/docs/conf.py index 966ff684..307ef533 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,8 +14,8 @@ project = 'solidfire-sdk-python' copyright = '2014-2017, NetApp, Inc. All Rights Reserved.' author = 'Adam Haid' -version = '1.5.0.87' -release = '1.5.0.87' +version = '1.5.0.88' +release = '1.5.0.88' language = 'en' exclude_patterns = ['_build'] diff --git a/python_version.json b/python_version.json index 9b62ab0c..1736a966 100644 --- a/python_version.json +++ b/python_version.json @@ -1,7 +1,7 @@ { "major": 1, - "version": "1.5.0.87", - "build": 87, + "version": "1.5.0.88", + "build": 88, "minor": 5, "patch": 0 } \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index e0b5dd44..6e7414f8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.5.0.87 +current_version = 1.5.0.88 parse = (?P\d+)\.(?P.*)\.(?P\d+)\.(?P\d+) serialize = {major}.{minor}.{patch}.{build} diff --git a/setup.py b/setup.py index 9aca57f6..bfa0ce4d 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ def run(self): setup( name='solidfire-sdk-python', - version='1.5.0.87', + version='1.5.0.88', description='SolidFire Python SDK', long_description=long_description, From 020e46d378af09d73596562f96a12e95f9057667 Mon Sep 17 00:00:00 2001 From: Build Automation Date: Wed, 29 Nov 2017 17:01:07 -0700 Subject: [PATCH 002/139] {"pythonVersion":"1.5.0.89", "descriptorVersion":"1.5.0.36", "generatorVersion": "1.5.0.73"} --- README.rst | 2 +- docs/conf.py | 4 ++-- generator_version.json | 4 ++-- python_version.json | 4 ++-- setup.cfg | 2 +- setup.py | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index c4512fe8..b8a7be30 100644 --- a/README.rst +++ b/README.rst @@ -8,7 +8,7 @@ Python SDK library for interacting with SolidFire Element API Current Release --------------- -Version 1.5.0.88 +Version 1.5.0.89 Description ----------- diff --git a/docs/conf.py b/docs/conf.py index 307ef533..8c4fb55c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,8 +14,8 @@ project = 'solidfire-sdk-python' copyright = '2014-2017, NetApp, Inc. All Rights Reserved.' author = 'Adam Haid' -version = '1.5.0.88' -release = '1.5.0.88' +version = '1.5.0.89' +release = '1.5.0.89' language = 'en' exclude_patterns = ['_build'] diff --git a/generator_version.json b/generator_version.json index 05b4c5a0..7efb82ca 100644 --- a/generator_version.json +++ b/generator_version.json @@ -1,7 +1,7 @@ { "major": 1, - "version": "1.5.0.72", - "build": 72, + "version": "1.5.0.73", + "build": 73, "minor": 5, "patch": 0 } \ No newline at end of file diff --git a/python_version.json b/python_version.json index 1736a966..3ea0ac32 100644 --- a/python_version.json +++ b/python_version.json @@ -1,7 +1,7 @@ { "major": 1, - "version": "1.5.0.88", - "build": 88, + "version": "1.5.0.89", + "build": 89, "minor": 5, "patch": 0 } \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 6e7414f8..02ef951f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.5.0.88 +current_version = 1.5.0.89 parse = (?P\d+)\.(?P.*)\.(?P\d+)\.(?P\d+) serialize = {major}.{minor}.{patch}.{build} diff --git a/setup.py b/setup.py index bfa0ce4d..589c6310 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ def run(self): setup( name='solidfire-sdk-python', - version='1.5.0.88', + version='1.5.0.89', description='SolidFire Python SDK', long_description=long_description, From 2ac1b43545a23216f1fba016a98ddc2ede4a9ae4 Mon Sep 17 00:00:00 2001 From: Build Automation Date: Wed, 29 Nov 2017 17:03:30 -0700 Subject: [PATCH 003/139] {"pythonVersion":"1.5.0.90", "descriptorVersion":"1.5.0.37", "generatorVersion": "1.5.0.74"} --- README.rst | 2 +- descriptor_version.json | 4 ++-- docs/conf.py | 4 ++-- generator_version.json | 4 ++-- python_version.json | 4 ++-- setup.cfg | 2 +- setup.py | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.rst b/README.rst index b8a7be30..739b8aff 100644 --- a/README.rst +++ b/README.rst @@ -8,7 +8,7 @@ Python SDK library for interacting with SolidFire Element API Current Release --------------- -Version 1.5.0.89 +Version 1.5.0.90 Description ----------- diff --git a/descriptor_version.json b/descriptor_version.json index afad778f..1569e393 100644 --- a/descriptor_version.json +++ b/descriptor_version.json @@ -1,7 +1,7 @@ { "major": 1, - "version": "1.5.0.36", - "build": 36, + "version": "1.5.0.37", + "build": 37, "minor": 5, "patch": 0 } \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 8c4fb55c..48197916 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,8 +14,8 @@ project = 'solidfire-sdk-python' copyright = '2014-2017, NetApp, Inc. All Rights Reserved.' author = 'Adam Haid' -version = '1.5.0.89' -release = '1.5.0.89' +version = '1.5.0.90' +release = '1.5.0.90' language = 'en' exclude_patterns = ['_build'] diff --git a/generator_version.json b/generator_version.json index 7efb82ca..e537582a 100644 --- a/generator_version.json +++ b/generator_version.json @@ -1,7 +1,7 @@ { "major": 1, - "version": "1.5.0.73", - "build": 73, + "version": "1.5.0.74", + "build": 74, "minor": 5, "patch": 0 } \ No newline at end of file diff --git a/python_version.json b/python_version.json index 3ea0ac32..04cf5185 100644 --- a/python_version.json +++ b/python_version.json @@ -1,7 +1,7 @@ { "major": 1, - "version": "1.5.0.89", - "build": 89, + "version": "1.5.0.90", + "build": 90, "minor": 5, "patch": 0 } \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 02ef951f..d201b202 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.5.0.89 +current_version = 1.5.0.90 parse = (?P\d+)\.(?P.*)\.(?P\d+)\.(?P\d+) serialize = {major}.{minor}.{patch}.{build} diff --git a/setup.py b/setup.py index 589c6310..0e365f22 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ def run(self): setup( name='solidfire-sdk-python', - version='1.5.0.89', + version='1.5.0.90', description='SolidFire Python SDK', long_description=long_description, From af59ed81b424e8209f978ec1d4a4fd775e143444 Mon Sep 17 00:00:00 2001 From: Build Automation Date: Wed, 29 Nov 2017 17:11:44 -0700 Subject: [PATCH 004/139] {"pythonVersion":"1.5.0.91", "descriptorVersion":"1.5.0.37", "generatorVersion": "1.5.0.74"} --- README.rst | 2 +- docs/conf.py | 4 ++-- python_version.json | 4 ++-- setup.cfg | 2 +- setup.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index 739b8aff..9a25f8d7 100644 --- a/README.rst +++ b/README.rst @@ -8,7 +8,7 @@ Python SDK library for interacting with SolidFire Element API Current Release --------------- -Version 1.5.0.90 +Version 1.5.0.91 Description ----------- diff --git a/docs/conf.py b/docs/conf.py index 48197916..55082230 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,8 +14,8 @@ project = 'solidfire-sdk-python' copyright = '2014-2017, NetApp, Inc. All Rights Reserved.' author = 'Adam Haid' -version = '1.5.0.90' -release = '1.5.0.90' +version = '1.5.0.91' +release = '1.5.0.91' language = 'en' exclude_patterns = ['_build'] diff --git a/python_version.json b/python_version.json index 04cf5185..23f54695 100644 --- a/python_version.json +++ b/python_version.json @@ -1,7 +1,7 @@ { "major": 1, - "version": "1.5.0.90", - "build": 90, + "version": "1.5.0.91", + "build": 91, "minor": 5, "patch": 0 } \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index d201b202..21195abe 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.5.0.90 +current_version = 1.5.0.91 parse = (?P\d+)\.(?P.*)\.(?P\d+)\.(?P\d+) serialize = {major}.{minor}.{patch}.{build} diff --git a/setup.py b/setup.py index 0e365f22..eee2e01b 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ def run(self): setup( name='solidfire-sdk-python', - version='1.5.0.90', + version='1.5.0.91', description='SolidFire Python SDK', long_description=long_description, From c7bc07fea248daaae96285c249c2e79bc7d49eec Mon Sep 17 00:00:00 2001 From: Michael Blessing Date: Fri, 1 Dec 2017 08:06:59 -0700 Subject: [PATCH 005/139] Included generated modules needed to build docs on ReadTheDocs. --- solidfire/__init__.py | 6474 +++++++++++++ solidfire/models.py | 20958 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 27432 insertions(+) create mode 100644 solidfire/__init__.py create mode 100644 solidfire/models.py diff --git a/solidfire/__init__.py b/solidfire/__init__.py new file mode 100644 index 00000000..6ef2c7e5 --- /dev/null +++ b/solidfire/__init__.py @@ -0,0 +1,6474 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Copyright © 2014-2016 NetApp, Inc. All Rights Reserved. +# +# DO NOT EDIT THIS CODE BY HAND! It has been generated with jsvcgen. +# +from __future__ import unicode_literals +from __future__ import absolute_import + +import logging +from logging import Logger +from solidfire import common +from solidfire.adaptor import ElementServiceAdaptor + +from solidfire.common import ServiceBase, ApiVersionExceededError, \ + ApiVersionUnsupportedError, ApiParameterVersionError + +from solidfire.models import * + +OPTIONAL = None + +class Element(ServiceBase): + + """ + The API for controlling a SolidFire cluster. + """ + + def __init__(self, mvip=None, username=None, password=None, + api_version=8.0, verify_ssl=True, dispatcher=None): + """ + Constructor for initializing a connection to an instance of Element OS + + :param mvip: the management IP (IP or hostname) + :type mvip: str + :param username: username use to connect to the Element OS instance. + :type username: str + :param password: authentication for username + :type password: str + :param api_version: specific version of Element OS to connect + :type api_version: float or str + :param verify_ssl: disable to avoid ssl connection errors especially + when using an IP instead of a hostname + :type verify_ssl: bool + :param dispatcher: a prebuilt or custom http dispatcher + :return: a configured and tested instance of Element + """ + + ServiceBase.__init__(self, mvip, username, password, api_version, + verify_ssl, dispatcher) + + def add_account( + self, + username, + initiator_secret=OPTIONAL, + target_secret=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use AddAccount to add a new account to the system. You can create new volumes under the new account. The CHAP settings you specify for the account apply to all volumes owned by the account. + :param username: [required] Specifies the username for this account. (Might be 1 to 64 characters in length). + :type username: str + + :param initiatorSecret: The CHAP secret to use for the initiator. This secret must be 12-16 characters in length and should be impenetrable. The initiator CHAP secret must be unique and cannot be the same as the target CHAP secret. If unspecified, a random secret is created. + :type initiatorSecret: CHAPSecret + + :param targetSecret: The CHAP secret to use for the target (mutual CHAP authentication). This secret must be 12-16 characters in length and should be impenetrable. The target CHAP secret must be unique and cannot be the same as the initiator CHAP secret. If unspecified, a random secret is created. + :type targetSecret: CHAPSecret + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("add_account", "Cluster") + + params = { + "username": username, + } + if initiator_secret is not None: + params["initiatorSecret"] = initiator_secret + if target_secret is not None: + params["targetSecret"] = target_secret + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'AddAccount', + AddAccountResult, + params, + since=1.0 + ) + + def get_account_by_id( + self, + account_id,): + """ + GetAccountByID enables you to return details about a specific account, given its accountID. + :param accountID: [required] Specifies the account for which details are gathered. + :type accountID: int + """ + + self._check_connection_type("get_account_by_id", "Cluster") + + params = { + "accountID": account_id, + } + + # There is no adaptor. + return self.send_request( + 'GetAccountByID', + GetAccountResult, + params, + since=1.0 + ) + + def get_account_by_name( + self, + username,): + """ + GetAccountByName enables you to retrieve details about a specific account, given its username. + :param username: [required] Username for the account. + :type username: str + """ + + self._check_connection_type("get_account_by_name", "Cluster") + + params = { + "username": username, + } + + # There is no adaptor. + return self.send_request( + 'GetAccountByName', + GetAccountResult, + params, + since=1.0 + ) + + def get_account_efficiency( + self, + account_id,): + """ + GetAccountEfficiency enables you to retrieve efficiency statistics about a volume account. This method returns efficiency information + only for the account you specify as a parameter. + :param accountID: [required] Specifies the volume account for which efficiency statistics are returned. + :type accountID: int + """ + + self._check_connection_type("get_account_efficiency", "Cluster") + + params = { + "accountID": account_id, + } + + # There is no adaptor. + return self.send_request( + 'GetAccountEfficiency', + GetEfficiencyResult, + params, + since=6.0 + ) + + def list_accounts( + self, + start_account_id=OPTIONAL, + limit=OPTIONAL, + include_storage_containers=OPTIONAL,): + """ + ListAccounts returns the entire list of accounts, with optional paging support. + :param startAccountID: Starting AccountID to return. If no account exists with this AccountID, the next account by AccountID order is used as the start of the list. To page through the list, pass the AccountID of the last account in the previous response + 1. + :type startAccountID: int + + :param limit: Maximum number of AccountInfo objects to return. + :type limit: int + + :param includeStorageContainers: Includes storage containers in the response by default. To exclude storage containers, set to false. + :type includeStorageContainers: bool + """ + + self._check_connection_type("list_accounts", "Cluster") + + params = { + } + if start_account_id is not None: + params["startAccountID"] = start_account_id + if limit is not None: + params["limit"] = limit + if include_storage_containers is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_accounts", 9.0, + [("include_storage_containers", include_storage_containers, 9.0, False)]) + else: + params["includeStorageContainers"] = include_storage_containers + + # There is no adaptor. + return self.send_request( + 'ListAccounts', + ListAccountsResult, + params, + since=1.0 + ) + + def modify_account( + self, + account_id, + username=OPTIONAL, + status=OPTIONAL, + initiator_secret=OPTIONAL, + target_secret=OPTIONAL, + attributes=OPTIONAL,): + """ + ModifyAccount enables you to modify an existing account. + When you lock an account, any existing connections from that account are immediately terminated. When you change an account's + CHAP settings, any existing connections remain active, and the new CHAP settings are used on subsequent connections or + reconnections. + To clear an account's attributes, specify {} for the attributes parameter. + :param accountID: [required] Specifies the AccountID for the account to be modified. + :type accountID: int + + :param username: Specifies the username associated with the account. (Might be 1 to 64 characters in length). + :type username: str + + :param status: Sets the status for the account. Possible values are: active: The account is active and connections are allowed. locked: The account is locked and connections are refused. + :type status: str + + :param initiatorSecret: Specifies the CHAP secret to use for the initiator. This secret must be 12-16 characters in length and should be impenetrable. The initiator CHAP secret must be unique and cannot be the same as the target CHAP secret. + :type initiatorSecret: CHAPSecret + + :param targetSecret: Specifies the CHAP secret to use for the target (mutual CHAP authentication). This secret must be 12-16 characters in length and should be impenetrable. The target CHAP secret must be unique and cannot be the same as the initiator CHAP secret. + :type targetSecret: CHAPSecret + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("modify_account", "Cluster") + + params = { + "accountID": account_id, + } + if username is not None: + params["username"] = username + if status is not None: + params["status"] = status + if initiator_secret is not None: + params["initiatorSecret"] = initiator_secret + if target_secret is not None: + params["targetSecret"] = target_secret + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'ModifyAccount', + ModifyAccountResult, + params, + since=1.0 + ) + + def remove_account( + self, + account_id,): + """ + RemoveAccount enables you to remove an existing account. You must delete and purge all volumes associated with the account + using DeleteVolume before you can remove the account. If volumes on the account are still pending deletion, you cannot use + RemoveAccount to remove the account. + :param accountID: [required] Specifies the AccountID for the account to be removed. + :type accountID: int + """ + + self._check_connection_type("remove_account", "Cluster") + + params = { + "accountID": account_id, + } + + # There is no adaptor. + return self.send_request( + 'RemoveAccount', + RemoveAccountResult, + params, + since=1.0 + ) + + def get_async_result( + self, + async_handle, + keep_result=OPTIONAL,): + """ + You can use GetAsyncResult to retrieve the result of asynchronous method calls. Some method calls require some time to run, and + might not be finished when the system sends the initial response. To obtain the status or result of the method call, use + GetAsyncResult to poll the asyncHandle value returned by the method. + GetAsyncResult returns the overall status of the operation (in progress, completed, or error) in a standard fashion, but the actual + data returned for the operation depends on the original method call and the return data is documented with each method. + :param asyncHandle: [required] A value that was returned from the original asynchronous method call. + :type asyncHandle: int + + :param keepResult: If true, GetAsyncResult does not remove the asynchronous result upon returning it, enabling future queries to that asyncHandle. + :type keepResult: bool + """ + + self._check_connection_type("get_async_result", "Cluster") + + params = { + "asyncHandle": async_handle, + } + if keep_result is not None: + params["keepResult"] = keep_result + + # There is no adaptor. + return self.send_request( + 'GetAsyncResult', + dict, + params, + since=1.0 + ) + + def list_async_results( + self, + async_result_types=OPTIONAL,): + """ + You can use ListAsyncResults to list the results of all currently running and completed asynchronous methods on the system. + Querying asynchronous results with ListAsyncResults does not cause completed asyncHandles to expire; you can use GetAsyncResult + to query any of the asyncHandles returned by ListAsyncResults. + :param asyncResultTypes: An optional list of types of results. You can use this list to restrict the results to only these types of operations. Possible values are: BulkVolume: Copy operations between volumes, such as backups or restores. Clone: Volume cloning operations. DriveRemoval: Operations involving the system copying data from a drive in preparation to remove it from the cluster. RtfiPendingNode: Operations involving the system installing compatible software on a node before adding it to the cluster + :type asyncResultTypes: str + """ + + self._check_connection_type("list_async_results", "Cluster") + + params = { + } + if async_result_types is not None: + params["asyncResultTypes"] = async_result_types + + # There is no adaptor. + return self.send_request( + 'ListAsyncResults', + ListAsyncResultsResult, + params, + since=9.0 + ) + + def create_backup_target( + self, + name, + attributes,): + """ + CreateBackupTarget enables you to create and store backup target information so that you do not need to re-enter it each time a backup is created. + :param name: [required] The name of the backup target. + :type name: str + + :param attributes: [required] List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("create_backup_target", "Cluster") + + params = { + "name": name, + "attributes": attributes, + } + + # There is no adaptor. + return self.send_request( + 'CreateBackupTarget', + CreateBackupTargetResult, + params, + since=6.0 + ) + + def get_backup_target( + self, + backup_target_id,): + """ + GetBackupTarget enables you to return information about a specific backup target that you have created. + :param backupTargetID: [required] The unique identifier assigned to the backup target. + :type backupTargetID: int + """ + + self._check_connection_type("get_backup_target", "Cluster") + + params = { + "backupTargetID": backup_target_id, + } + + # There is no adaptor. + return self.send_request( + 'GetBackupTarget', + GetBackupTargetResult, + params, + since=6.0 + ) + + def list_backup_targets( + self,): + """ + You can use ListBackupTargets to retrieve information about all backup targets that have been created. """ + + self._check_connection_type("list_backup_targets", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListBackupTargets', + ListBackupTargetsResult, + params, + since=6.0 + ) + + def modify_backup_target( + self, + backup_target_id, + name=OPTIONAL, + attributes=OPTIONAL,): + """ + ModifyBackupTarget enables you to change attributes of a backup target. + :param backupTargetID: [required] The unique target ID for the target to modify. + :type backupTargetID: int + + :param name: The new name for the backup target. + :type name: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("modify_backup_target", "Cluster") + + params = { + "backupTargetID": backup_target_id, + } + if name is not None: + params["name"] = name + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'ModifyBackupTarget', + ModifyBackupTargetResult, + params, + since=6.0 + ) + + def remove_backup_target( + self, + backup_target_id,): + """ + RemoveBackupTarget allows you to delete backup targets. + :param backupTargetID: [required] The unique target ID of the target to remove. + :type backupTargetID: int + """ + + self._check_connection_type("remove_backup_target", "Cluster") + + params = { + "backupTargetID": backup_target_id, + } + + # There is no adaptor. + return self.send_request( + 'RemoveBackupTarget', + RemoveBackupTargetResult, + params, + since=6.0 + ) + + def clear_cluster_faults( + self, + fault_types=OPTIONAL,): + """ + You can use the ClearClusterFaults method to clear information about both current and previously detected faults. Both resolved + and unresolved faults can be cleared. + :param faultTypes: Determines the types of faults cleared. Possible values are: current: Faults that are currently detected and have not been resolved. resolved: (Default) Faults that were previously detected and resolved. all: Both current and resolved faults are cleared. The fault status can be determined by the resolved field of the fault object. + :type faultTypes: str + """ + + self._check_connection_type("clear_cluster_faults", "Cluster") + + params = { + } + if fault_types is not None: + params["faultTypes"] = fault_types + + # There is no adaptor. + return self.send_request( + 'ClearClusterFaults', + ClearClusterFaultsResult, + params, + since=1.0 + ) + + def create_cluster( + self, + mvip, + svip, + rep_count, + username, + password, + nodes, + accept_eula=OPTIONAL, + attributes=OPTIONAL,): + """ + The CreateCluster method enables you to initialize the node in a cluster that has ownership of the "mvip" and "svip" addresses. Each new cluster is initialized using the management IP (MIP) of the first node in the cluster. This method also automatically adds all the nodes being configured into the cluster. You only need to use this method once each time a new cluster is initialized. + Note: You need to log in to the node that is used as the master node for the cluster. After you log in, run the GetBootstrapConfig method on the node to get the IP addresses for the rest of the nodes that you want to include in the + cluster. Then, run the CreateCluster method. + :param acceptEula: Required to indicate your acceptance of the End User License Agreement when creating this cluster. To accept the EULA, set this parameter to true. + :type acceptEula: bool + + :param mvip: [required] Floating (virtual) IP address for the cluster on the management network. + :type mvip: str + + :param svip: [required] Floating (virtual) IP address for the cluster on the storage (iSCSI) network. + :type svip: str + + :param repCount: [required] Number of replicas of each piece of data to store in the cluster. Valid value is "2". + :type repCount: int + + :param username: [required] Username for the cluster admin. + :type username: str + + :param password: [required] Initial password for the cluster admin account. + :type password: str + + :param nodes: [required] CIP/SIP addresses of the initial set of nodes making up the cluster. This node's IP must be in the list. + :type nodes: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("create_cluster", "Both") + + params = { + "mvip": mvip, + "svip": svip, + "repCount": rep_count, + "username": username, + "password": password, + "nodes": nodes, + } + if accept_eula is not None: + params["acceptEula"] = accept_eula + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'CreateCluster', + CreateClusterResult, + params, + since=None + ) + + def create_support_bundle( + self, + bundle_name=OPTIONAL, + extra_args=OPTIONAL, + timeout_sec=OPTIONAL,): + """ + CreateSupportBundle enables you to create a support bundle file under the node's directory. After creation, the bundle is stored on the node as a tar.gz file. + :param bundleName: The unique name for the support bundle. If no name is provided, "supportbundle" and the node name are used as the filename. + :type bundleName: str + + :param extraArgs: Passed to the sf_make_support_bundle script. You should use this parameter only at the request of NetApp SolidFire Support. + :type extraArgs: str + + :param timeoutSec: The number of seconds to allow the support bundle script to run before stopping. The default value is 1500 seconds. + :type timeoutSec: int + """ + + self._check_connection_type("create_support_bundle", "Node") + + params = { + } + if bundle_name is not None: + params["bundleName"] = bundle_name + if extra_args is not None: + params["extraArgs"] = extra_args + if timeout_sec is not None: + params["timeoutSec"] = timeout_sec + + # There is no adaptor. + return self.send_request( + 'CreateSupportBundle', + CreateSupportBundleResult, + params, + since=8.0 + ) + + def delete_all_support_bundles( + self,): + """ + DeleteAllSupportBundles enables you to delete all support bundles generated with the CreateSupportBundle API method. """ + + self._check_connection_type("delete_all_support_bundles", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'DeleteAllSupportBundles', + DeleteAllSupportBundlesResult, + params, + since=8.0 + ) + + def disable_encryption_at_rest( + self,): + """ + The DisableEncryptionAtRest method enables you to remove the encryption that was previously applied to the cluster using the EnableEncryptionAtRest method. This disable method is asynchronous and returns a response before encryption is disabled. You can use the GetClusterInfo method to poll the system to see when the process has completed. """ + + self._check_connection_type("disable_encryption_at_rest", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'DisableEncryptionAtRest', + DisableEncryptionAtRestResult, + params, + since=5.0 + ) + + def enable_encryption_at_rest( + self,): + """ + You can use the EnableEncryptionAtRest method to enable the Advanced Encryption Standard (AES) 256-bit encryption at rest on the cluster, so that the cluster can manage the encryption key used for the drives on each node. This feature is not enabled by default. + When you enable Encryption at Rest, the cluster automatically manages encryption keys internally for the drives on each node in the cluster. Nodes do not store the keys to unlock drives and the keys are never passed over the network. Two nodes participating in a cluster are required to access the key to disable encryption on a drive. The encryption management does not affect performance or efficiency on the cluster. If an encryption-enabled drive or node is removed from the cluster with the API, Encryption at Rest is disabled and the data is not secure erased. Data can be secure erased using the SecureEraseDrives API method. + Note: If you have a node type with a model number ending in "-NE", the EnableEncryptionAtRest method call fails with a response of "Encryption not allowed. Cluster detected non-encryptable node". + You should only enable or disable encryption when the cluster is running and in a healthy state. You can enable or disable encryption at your discretion and as often as you need. + Note: This process is asynchronous and returns a response before encryption is enabled. You can use the GetClusterInfo + method to poll the system to see when the process has completed. """ + + self._check_connection_type("enable_encryption_at_rest", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'EnableEncryptionAtRest', + EnableEncryptionAtRestResult, + params, + since=5.0 + ) + + def get_api( + self,): + """ + You can use the GetAPI method to return a list of all the API methods and supported API endpoints that can be used in the system. """ + + self._check_connection_type("get_api", "Both") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetAPI', + GetAPIResult, + params, + since=1.0 + ) + + def get_cluster_capacity( + self,): + """ + You can use the GetClusterCapacity method to return the high-level capacity measurements for an entire cluster. You can use the fields returned from this method to calculate the efficiency rates that are displayed in the Element OS Web UI. You can use the following calculations in scripts to return the efficiency rates for thin provisioning, deduplication, compression, and overall efficiency. """ + + self._check_connection_type("get_cluster_capacity", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetClusterCapacity', + GetClusterCapacityResult, + params, + since=1.0 + ) + + def get_cluster_config( + self,): + """ + The GetClusterConfig API method enables you to return information about the cluster configuration this node uses to communicate with the cluster that it is a part of. """ + + self._check_connection_type("get_cluster_config", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetClusterConfig', + GetClusterConfigResult, + params, + since=5.0 + ) + + def get_cluster_full_threshold( + self,): + """ + You can use GetClusterFullThreshold to view the stages set for cluster fullness levels. This method returns all fullness metrics for the + cluster. + Note: When a cluster reaches the Error stage of block cluster fullness, the maximum IOPS on all volumes are reduced linearly to the volume's minimum IOPS as the cluster approaches the Critical stage. This helps prevent the cluster from + reaching the Critical stage of block cluster fullness. """ + + self._check_connection_type("get_cluster_full_threshold", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetClusterFullThreshold', + GetClusterFullThresholdResult, + params, + since=1.0 + ) + + def get_cluster_info( + self,): + """ + GetClusterInfo enables you to return configuration information about the cluster. """ + + self._check_connection_type("get_cluster_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetClusterInfo', + GetClusterInfoResult, + params, + since=1.0 + ) + + def get_cluster_master_node_id( + self,): + """ + GetClusterMasterNodeID enables you to retrieve the ID of the node that can perform cluster-wide administration tasks and holds the + storage virtual IP address (SVIP) and management virtual IP address (MVIP). """ + + self._check_connection_type("get_cluster_master_node_id", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetClusterMasterNodeID', + GetClusterMasterNodeIDResult, + params, + since=1.0 + ) + + def get_cluster_state( + self, + force,): + """ + The GetClusterState API method enables you to indicate if a node is part of a cluster or not. The three states are: + Available: Node has not been configured with a cluster name. + Pending: Node is pending for a specific named cluster and can be added. + Active: Node is an active member of a cluster and may not be added to another + cluster. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param force: [required] To run this command, the force parameter must be set to true. + :type force: bool + """ + + self._check_connection_type("get_cluster_state", "Cluster") + + params = { + "force": force, + } + + # There is no adaptor. + return self.send_request( + 'GetClusterState', + GetClusterStateResult, + params, + since=5.0 + ) + + def get_cluster_stats( + self,): + """ + GetClusterStats enables you to retrieve high-level activity measurements for the cluster. Values returned are cumulative from the + creation of the cluster. """ + + self._check_connection_type("get_cluster_stats", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetClusterStats', + GetClusterStatsResult, + params, + since=1.0 + ) + + def get_cluster_version_info( + self,): + """ + GetClusterVersionInfo enables you to retrieve information about the Element software version running on each node in the cluster. + This method also returns information about nodes that are currently in the process of upgrading software. """ + + self._check_connection_type("get_cluster_version_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetClusterVersionInfo', + GetClusterVersionInfoResult, + params, + since=1.0 + ) + + def get_complete_stats( + self,): + """ + NetApp engineering uses the GetCompleteStats API method to troubleshoot new features. The data returned from GetCompleteStats is not documented, changes frequently, and is not guaranteed to be accurate. NetApp does not recommend using GetCompleteStats for collecting performance data or any other + management integration with a SolidFire cluster. """ + + self._check_connection_type("get_complete_stats", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetCompleteStats', + dict, + params, + since=1.0 + ) + + def get_limits( + self,): + """ + GetLimits enables you to retrieve the limit values set by the API. These values might change between releases of Element OS, but do not change without an update to the system. Knowing the limit values set by the API can be useful when writing API scripts for user-facing tools. + Note: The GetLimits method returns the limits for the current software version regardless of the API endpoint version used to pass the method. """ + + self._check_connection_type("get_limits", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetLimits', + GetLimitsResult, + params, + since=1.0 + ) + + def get_ntp_info( + self,): + """ + GetNtpInfo enables you to return the current network time protocol (NTP) configuration information. """ + + self._check_connection_type("get_ntp_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetNtpInfo', + GetNtpInfoResult, + params, + since=1.0 + ) + + def get_raw_stats( + self,): + """ + NetApp engineering uses the GetRawStats API method to troubleshoot new features. The data returned from GetRawStats is not documented, changes frequently, and is not guaranteed to be accurate. NetApp does not recommend using GetCompleteStats for collecting performance data or any other + management integration with a SolidFire cluster. """ + + self._check_connection_type("get_raw_stats", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetRawStats', + dict, + params, + since=1.0 + ) + + def get_sslcertificate( + self,): + """ + You can use the GetSSLCertificate method to retrieve the SSL certificate that is currently active on the cluster. """ + + self._check_connection_type("get_sslcertificate", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetSSLCertificate', + GetSSLCertificateResult, + params, + since=10.0 + ) + + def get_system_status( + self,): + """ + GetSystemStatus enables you to return whether a reboot ir required or not. """ + + self._check_connection_type("get_system_status", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetSystemStatus', + GetSystemStatusResult, + params, + since=5.0 + ) + + def list_cluster_faults( + self, + best_practices=OPTIONAL, + fault_types=OPTIONAL,): + """ + ListClusterFaults enables you to retrieve information about any faults detected on the cluster. With this method, you can retrieve both current faults as well as faults that have been resolved. The system caches faults every 30 seconds. + :param bestPractices: Specifies whether to include faults triggered by suboptimal system configuration. Possible values are: true false + :type bestPractices: bool + + :param faultTypes: Determines the types of faults returned. Possible values are: current: List active, unresolved faults. resolved: List faults that were previously detected and resolved. all: (Default) List both current and resolved faults. You can see the fault status in the resolved field of the Cluster Fault object. + :type faultTypes: str + """ + + self._check_connection_type("list_cluster_faults", "Cluster") + + params = { + } + if best_practices is not None: + params["bestPractices"] = best_practices + if fault_types is not None: + params["faultTypes"] = fault_types + + # There is no adaptor. + return self.send_request( + 'ListClusterFaults', + ListClusterFaultsResult, + params, + since=1.0 + ) + + def list_events( + self, + max_events=OPTIONAL, + start_event_id=OPTIONAL, + end_event_id=OPTIONAL, + event_type=OPTIONAL,): + """ + ListEvents returns events detected on the cluster, sorted from oldest to newest. + :param maxEvents: Specifies the maximum number of events to return. + :type maxEvents: int + + :param startEventID: Identifies the beginning of a range of events to return. + :type startEventID: int + + :param endEventID: Identifies the end of a range of events to return. + :type endEventID: int + + :param eventType: + :type eventType: str + """ + + self._check_connection_type("list_events", "Cluster") + + params = { + } + if max_events is not None: + params["maxEvents"] = max_events + if start_event_id is not None: + params["startEventID"] = start_event_id + if end_event_id is not None: + params["endEventID"] = end_event_id + if event_type is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("list_events", 10.0, + [("event_type", event_type, 10.0, False)]) + else: + params["eventType"] = event_type + + # There is no adaptor. + return self.send_request( + 'ListEvents', + ListEventsResult, + params, + since=1.0 + ) + + def list_sync_jobs( + self,): + """ + ListSyncJobs enables you to return information about synchronization jobs that are running on a SolidFire cluster. The type of + synchronization jobs that are returned with this method are slice, clone, and remote. """ + + self._check_connection_type("list_sync_jobs", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListSyncJobs', + ListSyncJobsResult, + params, + since=1.0 + ) + + def modify_cluster_full_threshold( + self, + stage2_aware_threshold=OPTIONAL, + stage3_block_threshold_percent=OPTIONAL, + max_metadata_over_provision_factor=OPTIONAL,): + """ + You can use ModifyClusterFullThreshold to change the level at which the system generates an event when the storage cluster approaches a certain capacity utilization. You can use the threshold setting to indicate the acceptable amount of utilized block storage before the system generates a warning. For example, if you want to be alerted when the system reaches 3% below the "Error" level block storage utilization, enter a value of "3" for the stage3BlockThresholdPercent parameter. If this level is reached, the system sends an alert to the Event Log in the Cluster Management Console. + :param stage2AwareThreshold: The number of nodes of capacity remaining in the cluster before the system triggers a capacity notification. + :type stage2AwareThreshold: int + + :param stage3BlockThresholdPercent: The percentage of block storage utilization below the "Error" threshold that causes the system to trigger a cluster "Warning" alert. + :type stage3BlockThresholdPercent: int + + :param maxMetadataOverProvisionFactor: A value representative of the number of times metadata space can be overprovisioned relative to the amount of space available. For example, if there was enough metadata space to store 100 TiB of volumes and this number was set to 5, then 500 TiB worth of volumes can be created. + :type maxMetadataOverProvisionFactor: int + """ + + self._check_connection_type("modify_cluster_full_threshold", "Cluster") + + params = { + } + if stage2_aware_threshold is not None: + params["stage2AwareThreshold"] = stage2_aware_threshold + if stage3_block_threshold_percent is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("modify_cluster_full_threshold", 8.0, + [("stage3_block_threshold_percent", stage3_block_threshold_percent, 8.0, False)]) + else: + params["stage3BlockThresholdPercent"] = stage3_block_threshold_percent + if max_metadata_over_provision_factor is not None: + params["maxMetadataOverProvisionFactor"] = max_metadata_over_provision_factor + + # There is no adaptor. + return self.send_request( + 'ModifyClusterFullThreshold', + ModifyClusterFullThresholdResult, + params, + since=1.0 + ) + + def remove_sslcertificate( + self,): + """ + You can use the RemoveSSLCertificate method to remove the user SSL certificate and private key for the cluster. + After the certificate and private key are removed, the cluster is configured to use the default certificate and private key. """ + + self._check_connection_type("remove_sslcertificate", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'RemoveSSLCertificate', + RemoveSSLCertificateResult, + params, + since=10.0 + ) + + def set_cluster_config( + self, + cluster,): + """ + The SetClusterConfig API method enables you to set the configuration this node uses to communicate with the cluster it is associated with. To see the states in which these objects can be modified, see Cluster Object Attributes. To display the current cluster + interface settings for a node, run the GetClusterConfig API method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param cluster: [required] Objects that are changed for the cluster interface settings. + :type cluster: ClusterConfig + """ + + self._check_connection_type("set_cluster_config", "Node") + + params = { + "cluster": cluster, + } + + # There is no adaptor. + return self.send_request( + 'SetClusterConfig', + SetClusterConfigResult, + params, + since=5.0 + ) + + def set_ntp_info( + self, + servers, + broadcastclient=OPTIONAL,): + """ + SetNtpInfo enables you to configure NTP on cluster nodes. The values you set with this interface apply to all nodes in the cluster. If an NTP broadcast server periodically broadcasts time information on your network, you can optionally configure nodes as broadcast clients. + Note: NetApp recommends using NTP servers that are internal to your network, rather than the installation defaults. + :param servers: [required] List of NTP servers to add to each nodes NTP configuration. + :type servers: str + + :param broadcastclient: Enables every node in the cluster as a broadcast client. + :type broadcastclient: bool + """ + + self._check_connection_type("set_ntp_info", "Cluster") + + params = { + "servers": servers, + } + if broadcastclient is not None: + params["broadcastclient"] = broadcastclient + + # There is no adaptor. + return self.send_request( + 'SetNtpInfo', + SetNtpInfoResult, + params, + since=1.0 + ) + + def set_sslcertificate( + self, + certificate, + private_key,): + """ + You can use the SetSSLCertificate method to set a user SSL certificate and a private key for the cluster. + :param certificate: [required] The PEM-encoded text version of the certificate. + :type certificate: str + + :param privateKey: [required] The PEM-encoded text version of the private key. + :type privateKey: str + """ + + self._check_connection_type("set_sslcertificate", "Cluster") + + params = { + "certificate": certificate, + "privateKey": private_key, + } + + # There is no adaptor. + return self.send_request( + 'SetSSLCertificate', + SetSSLCertificateResult, + params, + since=10.0 + ) + + def add_cluster_admin( + self, + username, + password, + access, + accept_eula=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use AddClusterAdmin to add a new cluster admin account. A cluster ddmin can manage the cluster using the API and management tools. Cluster admins are completely separate and unrelated to standard tenant accounts. + Each cluster admin can be restricted to a subset of the API. NetApp recommends using multiple cluster admin accounts for different users and applications. You should give each cluster admin the minimal permissions necessary; this reduces the potential impact of credential compromise. + You must accept the End User License Agreement (EULA) by setting the acceptEula parameter to true to add a cluster administrator account to the system. + :param username: [required] Unique username for this cluster admin. Must be between 1 and 1024 characters in length. + :type username: str + + :param password: [required] Password used to authenticate this cluster admin. + :type password: str + + :param access: [required] Controls which methods this cluster admin can use. For more details on the levels of access, see Access Control in the Element API Reference Guide. + :type access: str + + :param acceptEula: Required to indicate your acceptance of the End User License Agreement when creating this cluster. To accept the EULA, set this parameter to true. + :type acceptEula: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("add_cluster_admin", "Cluster") + + params = { + "username": username, + "password": password, + "access": access, + } + if accept_eula is not None: + params["acceptEula"] = accept_eula + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'AddClusterAdmin', + AddClusterAdminResult, + params, + since=1.0 + ) + + def get_current_cluster_admin( + self,): + """ + GetCurrentClusterAdmin returns information for the current primary cluster administrator. The primary Cluster Admin was created when the cluster was created. """ + + self._check_connection_type("get_current_cluster_admin", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetCurrentClusterAdmin', + GetCurrentClusterAdminResult, + params, + since=6.0 + ) + + def get_login_banner( + self,): + """ + You can use the GetLoginBanner method to get the currently active Terms of Use banner that users see when they log on to the web interface. """ + + self._check_connection_type("get_login_banner", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetLoginBanner', + GetLoginBannerResult, + params, + since=10.0 + ) + + def list_cluster_admins( + self,): + """ + ListClusterAdmins returns the list of all cluster administrators for the cluster. There can be several cluster administrator accounts with different levels of permissions. There can be only one primary cluster administrator in the system. The primary Cluster Admin is the administrator that was created when the cluster was created. You can also create LDAP administrators when setting up an LDAP system on the cluster. """ + + self._check_connection_type("list_cluster_admins", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListClusterAdmins', + ListClusterAdminsResult, + params, + since=1.0 + ) + + def modify_cluster_admin( + self, + cluster_admin_id, + password=OPTIONAL, + access=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use ModifyClusterAdmin to change the settings for a cluster admin or LDAP cluster admin. You cannot change access for the administrator cluster admin account. + :param clusterAdminID: [required] ClusterAdminID for the cluster admin or LDAP cluster admin to modify. + :type clusterAdminID: int + + :param password: Password used to authenticate this cluster admin. + :type password: str + + :param access: Controls which methods this cluster admin can use. For more details, see Access Control in the Element API Reference Guide. + :type access: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("modify_cluster_admin", "Cluster") + + params = { + "clusterAdminID": cluster_admin_id, + } + if password is not None: + params["password"] = password + if access is not None: + params["access"] = access + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'ModifyClusterAdmin', + ModifyClusterAdminResult, + params, + since=1.0 + ) + + def remove_cluster_admin( + self, + cluster_admin_id,): + """ + You can use RemoveClusterAdmin to remove a Cluster Admin. You cannot remove the administrator cluster admin account. + :param clusterAdminID: [required] ClusterAdminID for the cluster admin to remove. + :type clusterAdminID: int + """ + + self._check_connection_type("remove_cluster_admin", "Cluster") + + params = { + "clusterAdminID": cluster_admin_id, + } + + # There is no adaptor. + return self.send_request( + 'RemoveClusterAdmin', + RemoveClusterAdminResult, + params, + since=1.0 + ) + + def set_login_banner( + self, + banner=OPTIONAL, + enabled=OPTIONAL,): + """ + You can use the SetLoginBanner method to set the active Terms of Use banner users see when they log on to the web interface. + :param banner: The desired text of the Terms of Use banner. + :type banner: str + + :param enabled: The status of the Terms of Use banner. Possible values: true: The Terms of Use banner is displayed upon web interface login. false: The Terms of Use banner is not displayed upon web interface login. + :type enabled: bool + """ + + self._check_connection_type("set_login_banner", "Cluster") + + params = { + } + if banner is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("set_login_banner", 10.0, + [("banner", banner, 10.0, False)]) + else: + params["banner"] = banner + if enabled is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("set_login_banner", 10.0, + [("enabled", enabled, 10.0, False)]) + else: + params["enabled"] = enabled + + # There is no adaptor. + return self.send_request( + 'SetLoginBanner', + SetLoginBannerResult, + params, + since=10.0 + ) + + def add_drives( + self, + drives, + force_during_upgrade=OPTIONAL, + force_during_bin_sync=OPTIONAL,): + """ + AddDrives enables you to add one or more available drives to the cluster, enabling the drives to host a portion of the cluster's data. + When you add a node to the cluster or install new drives in an existing node, the new drives are marked as "available" and must be + added via AddDrives before they can be utilized. Use the ListDrives method to display drives that are "available" to be added. When + you add multiple drives, it is more efficient to add them in a single AddDrives method call rather than multiple individual methods + with a single drive each. This reduces the amount of data balancing that must occur to stabilize the storage load on the cluster. + When you add a drive, the system automatically determines the "type" of drive it should be. + The method is asynchronous and returns immediately. However, it can take some time for the data in the cluster to be rebalanced + using the newly added drives. As the new drives are syncing on the system, you can use the ListSyncJobs method to see how the + drives are being rebalanced and the progress of adding the new drive. You can also use the GetAsyncResult method to query the + method's returned asyncHandle. + :param drives: [required] Returns information about each drive to be added to the cluster. Possible values are: driveID: The ID of the drive to add. (Integer) type: (Optional) The type of drive to add. Valid values are "slice" or "block". If omitted, the system assigns the correct type. (String) + :type drives: NewDrive + + :param forceDuringUpgrade: Allows the user to force the addition of drives during an upgrade. + :type forceDuringUpgrade: bool + + :param forceDuringBinSync: Allows the user to force the addition of drives during a bin sync operation. + :type forceDuringBinSync: bool + """ + + self._check_connection_type("add_drives", "Cluster") + + params = { + "drives": drives, + } + if force_during_upgrade is not None: + params["forceDuringUpgrade"] = force_during_upgrade + if force_during_bin_sync is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("add_drives", 10.0, + [("force_during_bin_sync", force_during_bin_sync, 10.0, False)]) + else: + params["forceDuringBinSync"] = force_during_bin_sync + + # There is no adaptor. + return self.send_request( + 'AddDrives', + AddDrivesResult, + params, + since=1.0 + ) + + def get_drive_config( + self,): + """ + GetDriveConfig enables you to display drive information for expected slice and block drive counts as well as the number of slices + and block drives that are currently connected to the node. + Note: This method is available only through the per-node API endpoint 5.0 or later. """ + + self._check_connection_type("get_drive_config", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetDriveConfig', + GetDriveConfigResult, + params, + since=2.0 + ) + + def get_drive_hardware_info( + self, + drive_id,): + """ + GetDriveHardwareInfo returns all the hardware information for the given drive. This generally includes details about manufacturers, vendors, versions, and + other associated hardware identification information. + :param driveID: [required] DriveID for the drive information requested. You can get DriveIDs by using the ListDrives method. + :type driveID: int + """ + + self._check_connection_type("get_drive_hardware_info", "Cluster") + + params = { + "driveID": drive_id, + } + + # There is no adaptor. + return self.send_request( + 'GetDriveHardwareInfo', + GetDriveHardwareInfoResult, + params, + since=1.0 + ) + + def get_drive_stats( + self, + drive_id,): + """ + GetDriveStats returns high-level activity measurements for a single drive. Values are cumulative from the addition of the drive to the + cluster. Some values are specific to block drives. You might not obtain statistical data for both block and metadata drives when you + run this method. + :param driveID: [required] Specifies the drive for which statistics are gathered. + :type driveID: int + """ + + self._check_connection_type("get_drive_stats", "Cluster") + + params = { + "driveID": drive_id, + } + + # There is no adaptor. + return self.send_request( + 'GetDriveStats', + GetDriveStatsResult, + params, + since=1.0 + ) + + def list_drive_hardware( + self, + force,): + """ + ListDriveHardware returns all the drives connected to a node. Use this method on individual nodes to return drive hardware + information or use this method on the cluster master node MVIP to see information for all the drives on all nodes. + Note: The "securitySupported": true line of the method response does not imply that the drives are capable of + encryption; only that the security status can be queried. If you have a node type with a model number ending in "-NE", + commands to enable security features on these drives will fail. See the EnableEncryptionAtRest method for more information. + :param force: [required] To run this command, the force parameter must be set to true. + :type force: bool + """ + + self._check_connection_type("list_drive_hardware", "Cluster") + + params = { + "force": force, + } + + # There is no adaptor. + return self.send_request( + 'ListDriveHardware', + ListDriveHardwareResult, + params, + since=7.0 + ) + + def list_drive_stats( + self, + drives=OPTIONAL,): + """ + ListDriveStats enables you to retrieve high-level activity measurements for multiple drives in the cluster. By default, this method returns statistics for all drives in the cluster, and these measurements are cumulative from the addition of the drive to the cluster. Some values this method returns are specific to block drives, and some are specific to metadata drives. + :param drives: Optional list of DriveIDs for which to return drive statistics. If you omit this parameter, measurements for all drives are returned. + :type drives: int + """ + + self._check_connection_type("list_drive_stats", "Cluster") + + params = { + } + if drives is not None: + params["drives"] = drives + + # There is no adaptor. + return self.send_request( + 'ListDriveStats', + ListDriveStatsResult, + params, + since=9.0 + ) + + def list_drives( + self,): + """ + ListDrives enables you to retrieve the list of the drives that exist in the cluster's active nodes. This method returns drives that have + been added as volume metadata or block drives as well as drives that have not been added and are available. """ + + self._check_connection_type("list_drives", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListDrives', + ListDrivesResult, + params, + since=1.0 + ) + + def remove_drives( + self, + drives, + force_during_upgrade=OPTIONAL,): + """ + You can use RemoveDrives to proactively remove drives that are part of the cluster. You might want to use this method when + reducing cluster capacity or preparing to replace drives nearing the end of their service life. Any data on the drives is removed and + migrated to other drives in the cluster before the drive is removed from the cluster. This is an asynchronous method. Depending on + the total capacity of the drives being removed, it might take several minutes to migrate all of the data. Use the GetAsyncResult + method to check the status of the remove operation. + When removing multiple drives, use a single RemoveDrives method call rather than multiple individual methods with a single drive + each. This reduces the amount of data balancing that must occur to even stabilize the storage load on the cluster. + You can also remove drives with a "failed" status using RemoveDrives. When you remove a drive with a "failed" status it is not + returned to an "available" or active status. The drive is unavailable for use in the cluster. + Use the ListDrives method to obtain the driveIDs for the drives you want to remove. + :param drives: [required] List of driveIDs to remove from the cluster. + :type drives: int + + :param forceDuringUpgrade: If you want to remove a drive during upgrade, this must be set to true. + :type forceDuringUpgrade: bool + """ + + self._check_connection_type("remove_drives", "Cluster") + + params = { + "drives": drives, + } + if force_during_upgrade is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("remove_drives", 10.0, + [("force_during_upgrade", force_during_upgrade, 10.0, False)]) + else: + params["forceDuringUpgrade"] = force_during_upgrade + + # There is no adaptor. + return self.send_request( + 'RemoveDrives', + AsyncHandleResult, + params, + since=1.0 + ) + + def reset_drives( + self, + drives, + force,): + """ + ResetDrives enables you to proactively initialize drives and remove all data currently residing on a drive. The drive can then be reused + in an existing node or used in an upgraded node. This method requires the force parameter to be included in the method call. + :param drives: [required] List of device names (not driveIDs) to reset. + :type drives: str + + :param force: [required] Required parameter to successfully reset a drive. + :type force: bool + """ + + self._check_connection_type("reset_drives", "Node") + + params = { + "drives": drives, + "force": force, + } + + # There is no adaptor. + return self.send_request( + 'ResetDrives', + ResetDrivesResult, + params, + since=6.0 + ) + + def secure_erase_drives( + self, + drives,): + """ + SecureEraseDrives enables you to remove any residual data from drives that have a status of "available." You might want to use this method when replacing a drive nearing the end of its service life that contained sensitive data. This method uses a Security Erase Unit command to write a predetermined pattern to the drive and resets the encryption key on the drive. This asynchronous method might take up to two minutes to complete. You can use GetAsyncResult to check on the status of the secure erase operation. + You can use the ListDrives method to obtain the driveIDs for the drives you want to secure erase. + :param drives: [required] List of driveIDs to be secure erased. + :type drives: int + """ + + self._check_connection_type("secure_erase_drives", "Cluster") + + params = { + "drives": drives, + } + + # There is no adaptor. + return self.send_request( + 'SecureEraseDrives', + AsyncHandleResult, + params, + since=5.0 + ) + + def test_drives( + self, + minutes=OPTIONAL, + force=OPTIONAL,): + """ + You can use the TestDrives API method to run a hardware validation on all drives on the node. This method detects hardware + failures on the drives (if present) and reports them in the results of the validation tests. + You can only use the TestDrives method on nodes that are not "active" in a cluster. + Note: This test takes approximately 10 minutes. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param minutes: Specifies the number of minutes to run the test. + :type minutes: int + + :param force: Required parameter to successfully test the drives on the node. + :type force: bool + """ + + self._check_connection_type("test_drives", "Node") + + params = { + } + if minutes is not None: + params["minutes"] = minutes + if force is not None: + params["force"] = force + + # There is no adaptor. + return self.send_request( + 'TestDrives', + TestDrivesResult, + params, + since=5.0 + ) + + def get_cluster_hardware_info( + self, + type=OPTIONAL,): + """ + You can use the GetClusterHardwareInfo method to retrieve the hardware status and information for all Fibre Channel nodes, iSCSI + nodes and drives in the cluster. This generally includes details about manufacturers, vendors, versions, and other associated hardware + identification information. + :param type: Includes only a certain type of hardware information in the response. Possible values are: drives: List only drive information in the response. nodes: List only node information in the response. all: Include both drive and node information in the response. If this parameter is omitted, a type of "all" is assumed. + :type type: str + """ + + self._check_connection_type("get_cluster_hardware_info", "Cluster") + + params = { + } + if type is not None: + params["type"] = type + + # There is no adaptor. + return self.send_request( + 'GetClusterHardwareInfo', + GetClusterHardwareInfoResult, + params, + since=1.0 + ) + + def get_hardware_config( + self,): + """ + GetHardwareConfig enables you to display the hardware configuration information for a node. + Note: This method is available only through the per-node API endpoint 5.0 or later. """ + + self._check_connection_type("get_hardware_config", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetHardwareConfig', + GetHardwareConfigResult, + params, + since=5.0 + ) + + def get_hardware_info( + self,): + """ + The GetHardwareInfo API method enables you to return hardware information and status for a single node. This generally includes details about manufacturers, vendors, versions, drives, and other associated hardware identification information. """ + + self._check_connection_type("get_hardware_info", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetHardwareInfo', + GetHardwareInfoResult, + params, + since=9.0 + ) + + def get_node_hardware_info( + self, + node_id,): + """ + GetNodeHardwareInfo enables you to return all the hardware information and status for the node specified. This generally includes details about + manufacturers, vendors, versions, and other associated hardware identification information. + :param nodeID: [required] The ID of the node for which hardware information is being requested. Information about a Fibre Channel node is returned if a Fibre Channel node is specified. + :type nodeID: int + """ + + self._check_connection_type("get_node_hardware_info", "Cluster") + + params = { + "nodeID": node_id, + } + + # There is no adaptor. + return self.send_request( + 'GetNodeHardwareInfo', + GetNodeHardwareInfoResult, + params, + since=1.0 + ) + + def get_nvram_info( + self, + force=OPTIONAL,): + """ + GetNvramInfo enables you to retrieve information from each node about the NVRAM card. + :param force: Required parameter to successfully run on all nodes in the cluster. + :type force: bool + """ + + self._check_connection_type("get_nvram_info", "Node") + + params = { + } + if force is not None: + params["force"] = force + + # There is no adaptor. + return self.send_request( + 'GetNvramInfo', + GetNvramInfoResult, + params, + since=5.0 + ) + + def add_initiators_to_volume_access_group( + self, + volume_access_group_id, + initiators,): + """ + AddInitiatorsToVolumeAccessGroup enables you + to add initiators to a specified volume access group. + :param volumeAccessGroupID: [required] The ID of the volume access group to modify. + :type volumeAccessGroupID: int + + :param initiators: [required] The list of initiators to add to the volume access group. + :type initiators: str + """ + + self._check_connection_type("add_initiators_to_volume_access_group", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + "initiators": initiators, + } + + # There is no adaptor. + return self.send_request( + 'AddInitiatorsToVolumeAccessGroup', + ModifyVolumeAccessGroupResult, + params, + since=5.0 + ) + + def create_initiators( + self, + initiators,): + """ + CreateInitiators enables you to create multiple new initiator IQNs or World Wide Port Names (WWPNs) and optionally assign them + aliases and attributes. When you use CreateInitiators to create new initiators, you can also add them to volume access groups. + If CreateInitiators fails to create one of the initiators provided in the parameter, the method returns an error and does not create + any initiators (no partial completion is possible). + :param initiators: [required] A list of objects containing characteristics of each new initiator. Values are: name: (Required) The name of the initiator (IQN or WWPN) to create. (String) alias: (Optional) The friendly name to assign to this initiator. (String) attributes: (Optional) A set of JSON attributes to assign to this initiator. (JSON Object) volumeAccessGroupID: (Optional) The ID of the volume access group into to which this newly created initiator will be added. (Integer) + :type initiators: CreateInitiator + """ + + self._check_connection_type("create_initiators", "Cluster") + + params = { + "initiators": initiators, + } + + # There is no adaptor. + return self.send_request( + 'CreateInitiators', + CreateInitiatorsResult, + params, + since=9.0 + ) + + def delete_initiators( + self, + initiators,): + """ + DeleteInitiators enables you to delete one or more initiators from the system (and from any associated volumes or volume access + groups). + If DeleteInitiators fails to delete one of the initiators provided in the parameter, the system returns an error and does not delete any + initiators (no partial completion is possible). + :param initiators: [required] An array of IDs of initiators to delete. + :type initiators: int + """ + + self._check_connection_type("delete_initiators", "Cluster") + + params = { + "initiators": initiators, + } + + # There is no adaptor. + return self.send_request( + 'DeleteInitiators', + DeleteInitiatorsResult, + params, + since=9.0 + ) + + def list_initiators( + self, + start_initiator_id=OPTIONAL, + limit=OPTIONAL, + initiators=OPTIONAL,): + """ + ListInitiators enables you to list initiator IQNs or World Wide Port Names (WWPNs). + :param startInitiatorID: The initiator ID at which to begin the listing. You can supply this parameter or the "initiators" parameter, but not both. + :type startInitiatorID: int + + :param limit: The maximum number of initiator objects to return. + :type limit: int + + :param initiators: A list of initiator IDs to retrieve. You can provide a value for this parameter or the "startInitiatorID" parameter, but not both. + :type initiators: int + """ + + self._check_connection_type("list_initiators", "Cluster") + + params = { + } + if start_initiator_id is not None: + params["startInitiatorID"] = start_initiator_id + if limit is not None: + params["limit"] = limit + if initiators is not None: + params["initiators"] = initiators + + # There is no adaptor. + return self.send_request( + 'ListInitiators', + ListInitiatorsResult, + params, + since=9.0 + ) + + def modify_initiators( + self, + initiators,): + """ + ModifyInitiators enables you to change the attributes of one or more existing initiators. You cannot change the name of an existing + initiator. If you need to change the name of an initiator, delete it first with DeleteInitiators and create a new one with + CreateInitiators. + If ModifyInitiators fails to change one of the initiators provided in the parameter, the method returns an error and does not modify + any initiators (no partial completion is possible). + :param initiators: [required] A list of objects containing characteristics of each initiator to modify. Values are: initiatorID: (Required) The ID of the initiator to modify. (Integer) alias: (Optional) A new friendly name to assign to the initiator. (String) attributes: (Optional) A new set of JSON attributes to assign to the initiator. (JSON Object) volumeAccessGroupID: (Optional) The ID of the volume access group into to which the initiator should be added. If the initiator was previously in a different volume access group, it is removed from the old volume access group. If this key is present but null, the initiator is removed from its current volume access group, but not placed in any new volume access group. (Integer) + :type initiators: ModifyInitiator + """ + + self._check_connection_type("modify_initiators", "Cluster") + + params = { + "initiators": initiators, + } + + # There is no adaptor. + return self.send_request( + 'ModifyInitiators', + ModifyInitiatorsResult, + params, + since=9.0 + ) + + def remove_initiators_from_volume_access_group( + self, + volume_access_group_id, + initiators, + delete_orphan_initiators=OPTIONAL,): + """ + RemoveInitiatorsFromVolumeAccessGroup enables + you to remove initiators from a specified volume access + group. + :param volumeAccessGroupID: [required] The ID of the volume access group from which the initiators are removed. + :type volumeAccessGroupID: int + + :param initiators: [required] The list of initiators to remove from the volume access group. + :type initiators: str + + :param deleteOrphanInitiators: true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. + :type deleteOrphanInitiators: bool + """ + + self._check_connection_type("remove_initiators_from_volume_access_group", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + "initiators": initiators, + } + if delete_orphan_initiators is not None: + params["deleteOrphanInitiators"] = delete_orphan_initiators + + # There is no adaptor. + return self.send_request( + 'RemoveInitiatorsFromVolumeAccessGroup', + ModifyVolumeAccessGroupResult, + params, + since=5.0 + ) + + def add_ldap_cluster_admin( + self, + username, + access, + accept_eula=OPTIONAL, + attributes=OPTIONAL,): + """ + AddLdapClusterAdmin enables you to add a new LDAP cluster administrator user. An LDAP cluster administrator can manage the + cluster via the API and management tools. LDAP cluster admin accounts are completely separate and unrelated to standard tenant + accounts. + You can also use this method to add an LDAP group that has been defined in Active Directory. The access level that is given to the group is passed to the individual users in the LDAP group. + :param username: [required] The distinguished user name for the new LDAP cluster admin. + :type username: str + + :param access: [required] Controls which methods this Cluster Admin can use. For more details on the levels of access, see the Access Control appendix in the SolidFire API Reference. + :type access: str + + :param acceptEula: Accept the End User License Agreement. Set to true to add a cluster administrator account to the system. If omitted or set to false, the method call fails. + :type acceptEula: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("add_ldap_cluster_admin", "Cluster") + + params = { + "username": username, + "access": access, + } + if accept_eula is not None: + params["acceptEula"] = accept_eula + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'AddLdapClusterAdmin', + AddLdapClusterAdminResult, + params, + since=8.0 + ) + + def disable_ldap_authentication( + self,): + """ + The DisableLdapAuthentication method enables you to disable LDAP authentication and remove all LDAP configuration settings. This method does not remove any configured cluster admin accounts (user or group). However, those cluster admin accounts will no longer be able to log in. """ + + self._check_connection_type("disable_ldap_authentication", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'DisableLdapAuthentication', + DisableLdapAuthenticationResult, + params, + since=7.0 + ) + + def enable_ldap_authentication( + self, + server_uris, + auth_type=OPTIONAL, + group_search_base_dn=OPTIONAL, + group_search_custom_filter=OPTIONAL, + group_search_type=OPTIONAL, + search_bind_dn=OPTIONAL, + search_bind_password=OPTIONAL, + user_dntemplate=OPTIONAL, + user_search_base_dn=OPTIONAL, + user_search_filter=OPTIONAL,): + """ + The EnableLdapAuthentication method enables you to configure an LDAP directory connection to use for LDAP authentication to a cluster. Users that are members of the LDAP directory can then log in to the storage system using their LDAP credentials. + :param authType: Identifies which user authentication method to use. Must be one of the following: DirectBind SearchAndBind + :type authType: str + + :param groupSearchBaseDN: The base DN of the tree to start the group search (will do a subtree search from here). + :type groupSearchBaseDN: str + + :param groupSearchCustomFilter: For use with the CustomFilter search type, an LDAP filter to use to return the DNs of a users groups. The string can have placeholder text of %USERNAME% and %USERDN% to be replaced with their username and full userDN as needed. + :type groupSearchCustomFilter: str + + :param groupSearchType: Controls the default group search filter used, and must be one of the following: NoGroups: No group support. ActiveDirectory: Nested membership of all of a users AD groups. MemberDN: MemberDN style groups (single level). + :type groupSearchType: str + + :param searchBindDN: A fully qualified DN to log in with to perform an LDAP search for the user (needs read access to the LDAP directory). + :type searchBindDN: str + + :param searchBindPassword: The password for the searchBindDN account used for searching. + :type searchBindPassword: str + + :param serverURIs: [required] A comma-separated list of LDAP server URIs (examples: "ldap://1.2.3.4" and ldaps://1.2.3.4:123") + :type serverURIs: str + + :param userDNTemplate: A string that is used to form a fully qualified user DN. The string should have the placeholder text %USERNAME%, which is replaced with the username of the authenticating user. + :type userDNTemplate: str + + :param userSearchBaseDN: The base DN of the tree to start the search (will do a subtree search from here). + :type userSearchBaseDN: str + + :param userSearchFilter: The LDAP filter to use. The string should have the placeholder text %USERNAME% which is replaced with the username of the authenticating user. Example: (&(objectClass=person)(sAMAccountName=%USERNAME%)) will use the sAMAccountName field in Active Directory to match the username entered at cluster login. + :type userSearchFilter: str + """ + + self._check_connection_type("enable_ldap_authentication", "Cluster") + + params = { + "serverURIs": server_uris, + } + if auth_type is not None: + params["authType"] = auth_type + if group_search_base_dn is not None: + params["groupSearchBaseDN"] = group_search_base_dn + if group_search_custom_filter is not None: + params["groupSearchCustomFilter"] = group_search_custom_filter + if group_search_type is not None: + params["groupSearchType"] = group_search_type + if search_bind_dn is not None: + params["searchBindDN"] = search_bind_dn + if search_bind_password is not None: + params["searchBindPassword"] = search_bind_password + if user_dntemplate is not None: + params["userDNTemplate"] = user_dntemplate + if user_search_base_dn is not None: + params["userSearchBaseDN"] = user_search_base_dn + if user_search_filter is not None: + params["userSearchFilter"] = user_search_filter + + # There is no adaptor. + return self.send_request( + 'EnableLdapAuthentication', + EnableLdapAuthenticationResult, + params, + since=7.0 + ) + + def get_ldap_configuration( + self,): + """ + The GetLdapConfiguration method enables you to get the currently active LDAP configuration on the cluster. """ + + self._check_connection_type("get_ldap_configuration", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetLdapConfiguration', + GetLdapConfigurationResult, + params, + since=7.0 + ) + + def test_ldap_authentication( + self, + username, + password, + ldap_configuration=OPTIONAL,): + """ + The TestLdapAuthentication method enables you to validate the currently enabled LDAP authentication settings. If the configuration is + correct, the API call returns the group membership of the tested user. + :param username: [required] The username to be tested. + :type username: str + + :param password: [required] The password for the username to be tested. + :type password: str + + :param ldapConfiguration: An ldapConfiguration object to be tested. If specified, the API call tests the provided configuration even if LDAP authentication is disabled. + :type ldapConfiguration: LdapConfiguration + """ + + self._check_connection_type("test_ldap_authentication", "Cluster") + + params = { + "username": username, + "password": password, + } + if ldap_configuration is not None: + params["ldapConfiguration"] = ldap_configuration + + # There is no adaptor. + return self.send_request( + 'TestLdapAuthentication', + TestLdapAuthenticationResult, + params, + since=7.0 + ) + + def get_login_session_info( + self,): + """ + GetLoginSessionInfo enables you to return the period of time a log in authentication session is valid for both log in shells and the TUI. """ + + self._check_connection_type("get_login_session_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetLoginSessionInfo', + GetLoginSessionInfoResult, + params, + since=7.0 + ) + + def get_remote_logging_hosts( + self,): + """ + GetRemoteLoggingHosts enables you to retrieve the current list of log servers. """ + + self._check_connection_type("get_remote_logging_hosts", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetRemoteLoggingHosts', + GetRemoteLoggingHostsResult, + params, + since=1.0 + ) + + def set_login_session_info( + self, + timeout,): + """ + You can use SetLoginSessionInfo to set the period of time that a session's login authentication is valid. After the log in period elapses without activity on the system, the authentication expires. New login credentials are required for continued access to the cluster after the timeout period has elapsed. + :param timeout: [required] Cluster authentication expiration period. Formatted in HH:mm:ss. For example, 01:30:00, 00:90:00, and 00:00:5400 can be used to equal a 90 minute timeout period. The default value is 30 minutes. The minimum value is 1 minute. + :type timeout: str + """ + + self._check_connection_type("set_login_session_info", "Cluster") + + params = { + "timeout": timeout, + } + + # There is no adaptor. + return self.send_request( + 'SetLoginSessionInfo', + SetLoginSessionInfoResult, + params, + since=7.0 + ) + + def set_remote_logging_hosts( + self, + remote_hosts,): + """ + SetRemoteLoggingHosts enables you to configure remote logging from the nodes in the storage cluster to a centralized log server or servers. Remote logging is performed over TCP using the default port 514. This API does not add to the existing logging hosts. Rather, it replaces what currently exists with new values specified by this API method. You can use GetRemoteLoggingHosts to determine what the current logging hosts are, and then use SetRemoteLoggingHosts to set the desired list of current and new logging hosts. + :param remoteHosts: [required] A list of hosts to send log messages to. + :type remoteHosts: LoggingServer + """ + + self._check_connection_type("set_remote_logging_hosts", "Cluster") + + params = { + "remoteHosts": remote_hosts, + } + + # There is no adaptor. + return self.send_request( + 'SetRemoteLoggingHosts', + SetRemoteLoggingHostsResult, + params, + since=1.0 + ) + + def list_fibre_channel_port_info( + self,): + """ + ListFibreChannelPortInfo enables you to retrieve information about the Fibre Channel ports on a node. The API method is intended for use on individual nodes; userid and password authentication is required for access to individual Fibre Channel nodes. """ + + self._check_connection_type("list_fibre_channel_port_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListFibreChannelPortInfo', + ListFibreChannelPortInfoResult, + params, + since=8.0 + ) + + def list_fibre_channel_sessions( + self,): + """ + ListFibreChannelSessions enables you to retrieve information about the active Fibre Channel sessions on a cluster. """ + + self._check_connection_type("list_fibre_channel_sessions", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListFibreChannelSessions', + ListFibreChannelSessionsResult, + params, + since=7.0 + ) + + def list_iscsisessions( + self,): + """ + You can use ListISCSISessions to return iSCSI information for volumes in the cluster. """ + + self._check_connection_type("list_iscsisessions", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListISCSISessions', + ListISCSISessionsResult, + params, + since=1.0 + ) + + def list_network_interfaces( + self,): + """ + ListNetworkInterfaces enables you to retrieve information about each network interface on a node. The API method is intended for use on individual nodes; userid and password authentication is required for access to individual nodes. """ + + self._check_connection_type("list_network_interfaces", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListNetworkInterfaces', + ListNetworkInterfacesResult, + params, + since=7.0 + ) + + def list_node_fibre_channel_port_info( + self,): + """ + The ListNodeFibreChannelPortInfo API method enables you to retrieve information about the Fibre Channel ports on a node. The API method is intended for use on individual nodes; userid and password authentication is required for access to individual Fibre Channel nodes. """ + + self._check_connection_type("list_node_fibre_channel_port_info", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListNodeFibreChannelPortInfo', + ListNodeFibreChannelPortInfoResult, + params, + since=7.0 + ) + + def add_nodes( + self, + pending_nodes, + auto_install=OPTIONAL,): + """ + AddNodes enables you to add one or more new nodes to a cluster. When a node that is not configured starts up for the first time, you are prompted to configure the node. After you configure the node, it is registered as a "pending node" with the cluster. + Note: It might take several seconds after adding a new node for it to start up and register its drives as available. + :param pendingNodes: [required] List of pending NodeIDs for the nodes to be added. You can obtain the list of pending nodes using the ListPendingNodes method. + :type pendingNodes: int + + :param autoInstall: Whether these nodes should be autoinstalled + :type autoInstall: bool + """ + + self._check_connection_type("add_nodes", "Cluster") + + params = { + "pendingNodes": pending_nodes, + } + if auto_install is not None: + params["autoInstall"] = auto_install + + # There is no adaptor. + return self.send_request( + 'AddNodes', + AddNodesResult, + params, + since=1.0 + ) + + def get_bootstrap_config( + self,): + """ + GetBootstrapConfig returns cluster and node information from the bootstrap configuration file. Use this API method on an individual node before it has been joined with a cluster. You can use the information this method returns in the cluster configuration interface when you create a cluster. """ + + self._check_connection_type("get_bootstrap_config", "Both") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetBootstrapConfig', + GetBootstrapConfigResult, + params, + since=2.0 + ) + + def get_config( + self,): + """ + The GetConfig API method enables you to retrieve all configuration information for a node. This method includes the same information available in both the GetClusterConfig and GetNetworkConfig API methods. + Note: This method is available only through the per-node API endpoint 5.0 or later. """ + + self._check_connection_type("get_config", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetConfig', + GetConfigResult, + params, + since=5.0 + ) + + def get_network_config( + self,): + """ + The GetNetworkConfig API method enables you to display the network configuration information for a node. + Note: This method is available only through the per-node API endpoint 5.0 or later. """ + + self._check_connection_type("get_network_config", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetNetworkConfig', + GetNetworkConfigResult, + params, + since=5.0 + ) + + def get_node_sslcertificate( + self,): + """ + You can use the GetNodeSSLCertificate method to retrieve the SSL certificate that is currently active on the cluster. + You can use this method on both management and storage nodes. """ + + self._check_connection_type("get_node_sslcertificate", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetNodeSSLCertificate', + GetNodeSSLCertificateResult, + params, + since=10.0 + ) + + def get_node_stats( + self, + node_id,): + """ + GetNodeStats enables you to retrieve the high-level activity measurements for a single node. + :param nodeID: [required] Specifies the node for which statistics are gathered. + :type nodeID: int + """ + + self._check_connection_type("get_node_stats", "Cluster") + + params = { + "nodeID": node_id, + } + + # There is an adaptor! + since = 1.0 + deprecated = None + + return ElementServiceAdaptor.get_node_stats(self, params, + since, deprecated) + + def get_origin( + self,): + """ + GetOrigin enables you to retrieve the origination certificate for where the node was built. This method might return null if there is no origination certification. """ + + self._check_connection_type("get_origin", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetOrigin', + GetOriginResult, + params, + since=9.0 + ) + + def get_pending_operation( + self,): + """ + You can use GetPendingOperation to detect an operation on a node that is currently in progress. You can also use this method to report back when an operation has completed. + Note: method is available only through the per-node API endpoint 5.0 or later. """ + + self._check_connection_type("get_pending_operation", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetPendingOperation', + GetPendingOperationResult, + params, + since=5.0 + ) + + def list_active_nodes( + self,): + """ + ListActiveNodes returns the list of currently active nodes that are in the cluster. """ + + self._check_connection_type("list_active_nodes", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListActiveNodes', + ListActiveNodesResult, + params, + since=1.0 + ) + + def list_all_nodes( + self,): + """ + ListAllNodes enables you to retrieve a list of active and pending nodes in the cluster. """ + + self._check_connection_type("list_all_nodes", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListAllNodes', + ListAllNodesResult, + params, + since=1.0 + ) + + def list_node_stats( + self,): + """ + ListNodeStats enables you to view the high-level activity measurements for all nodes in a cluster. """ + + self._check_connection_type("list_node_stats", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListNodeStats', + ListNodeStatsResult, + params, + since=6.0 + ) + + def list_pending_active_nodes( + self,): + """ + ListPendingActiveNodes returns the list of nodes in the cluster that are currently in the PendingActive state, between the pending and active states. These are nodes that are currently being returned to the factory image. """ + + self._check_connection_type("list_pending_active_nodes", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListPendingActiveNodes', + ListPendingActiveNodesResult, + params, + since=9.0 + ) + + def list_pending_nodes( + self,): + """ + ListPendingNodes returns a list of the currently pending nodes in the system. Pending nodes are nodes that are running and configured to join the cluster, but have not yet been added via the AddNodes API method. """ + + self._check_connection_type("list_pending_nodes", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListPendingNodes', + ListPendingNodesResult, + params, + since=1.0 + ) + + def remove_node_sslcertificate( + self,): + """ + You can use the RemoveNodeSSLCertificate method to remove the user SSL certificate and private key for the management node. + After the certificate and private key are removed, the management node is configured to use the default certificate and private key.. """ + + self._check_connection_type("remove_node_sslcertificate", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'RemoveNodeSSLCertificate', + RemoveNodeSSLCertificateResult, + params, + since=10.0 + ) + + def remove_nodes( + self, + nodes,): + """ + You can use RemoveNodes to remove one or more nodes that should no longer participate in the cluster. Before removing a node, you must remove all drives the node contains using the RemoveDrives method. You cannot remove a node until the RemoveDrives process has completed and all data has been migrated away from the node. + After you remove a node, it registers itself as a pending node. You can add the node again or shut it down (shutting the node down removes it from the Pending Node list). + :param nodes: [required] List of NodeIDs for the nodes to be removed. + :type nodes: int + """ + + self._check_connection_type("remove_nodes", "Cluster") + + params = { + "nodes": nodes, + } + + # There is no adaptor. + return self.send_request( + 'RemoveNodes', + RemoveNodesResult, + params, + since=1.0 + ) + + def set_config( + self, + config,): + """ + The SetConfig API method enables you to set all the configuration information for the node. This includes the same information available via calls to SetClusterConfig and SetNetworkConfig in one API method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + Caution: Changing the "bond-mode" on a node can cause a temporary loss of network connectivity. Exercise caution when using this method. + :param config: [required] Objects that you want changed for the cluster interface settings. + :type config: ConfigParams + """ + + self._check_connection_type("set_config", "Node") + + params = { + "config": config, + } + + # There is no adaptor. + return self.send_request( + 'SetConfig', + SetConfigResult, + params, + since=5.0 + ) + + def set_network_config( + self, + network,): + """ + The SetNetworkConfig API method enables you to set the network configuration for a node. To display the current network settings for a node, run the GetNetworkConfig API method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + Changing the "bond-mode" on a node can cause a temporary loss of network connectivity. Exercise caution when using this method. + :param network: [required] An object containing node network settings to modify. + :type network: NetworkParams + """ + + self._check_connection_type("set_network_config", "Node") + + params = { + "network": network, + } + + # There is no adaptor. + return self.send_request( + 'SetNetworkConfig', + SetNetworkConfigResult, + params, + since=5.0 + ) + + def set_node_sslcertificate( + self, + certificate, + private_key,): + """ + You can use the SetNodeSSLCertificate method to set a user SSL certificate and private key for the management node. + :param certificate: [required] The PEM-encoded text version of the certificate. + :type certificate: str + + :param privateKey: [required] The PEM-encoded text version of the private key. + :type privateKey: str + """ + + self._check_connection_type("set_node_sslcertificate", "Node") + + params = { + "certificate": certificate, + "privateKey": private_key, + } + + # There is no adaptor. + return self.send_request( + 'SetNodeSSLCertificate', + SetNodeSSLCertificateResult, + params, + since=10.0 + ) + + def complete_cluster_pairing( + self, + cluster_pairing_key,): + """ + You can use the CompleteClusterPairing method with the encoded key received from the StartClusterPairing method to complete the cluster pairing process. The CompleteClusterPairing method is the second step in the cluster pairing process. + :param clusterPairingKey: [required] A string of characters that is returned from the "StartClusterPairing" API method. + :type clusterPairingKey: str + """ + + self._check_connection_type("complete_cluster_pairing", "Cluster") + + params = { + "clusterPairingKey": cluster_pairing_key, + } + + # There is no adaptor. + return self.send_request( + 'CompleteClusterPairing', + CompleteClusterPairingResult, + params, + since=6.0 + ) + + def complete_volume_pairing( + self, + volume_pairing_key, + volume_id,): + """ + You can use the CompleteVolumePairing method to complete the pairing of two volumes. + :param volumePairingKey: [required] The key returned from the StartVolumePairing method. + :type volumePairingKey: str + + :param volumeID: [required] The ID of the volume on which to complete the pairing process. + :type volumeID: int + """ + + self._check_connection_type("complete_volume_pairing", "Cluster") + + params = { + "volumePairingKey": volume_pairing_key, + "volumeID": volume_id, + } + + # There is no adaptor. + return self.send_request( + 'CompleteVolumePairing', + CompleteVolumePairingResult, + params, + since=6.0 + ) + + def list_active_paired_volumes( + self, + start_volume_id=OPTIONAL, + limit=OPTIONAL,): + """ + ListActivePairedVolumes enables you to list all the active volumes paired with a volume. This method returns information about volumes with active and pending pairings. + :param startVolumeID: The beginning of the range of active paired volumes to return. + :type startVolumeID: int + + :param limit: Maximum number of active paired volumes to return. + :type limit: int + """ + + self._check_connection_type("list_active_paired_volumes", "Cluster") + + params = { + } + if start_volume_id is not None: + params["startVolumeID"] = start_volume_id + if limit is not None: + params["limit"] = limit + + # There is no adaptor. + return self.send_request( + 'ListActivePairedVolumes', + ListActivePairedVolumesResult, + params, + since=6.0 + ) + + def list_cluster_pairs( + self,): + """ + You can use the ListClusterPairs method to list all the clusters that a cluster is paired with. This method returns information about active and pending cluster pairings, such as statistics about the current pairing as well as the connectivity and latency (in milliseconds) of the cluster pairing. """ + + self._check_connection_type("list_cluster_pairs", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListClusterPairs', + ListClusterPairsResult, + params, + since=6.0 + ) + + def modify_volume_pair( + self, + volume_id, + paused_manual=OPTIONAL, + mode=OPTIONAL, + pause_limit=OPTIONAL,): + """ + ModifyVolumePair enables you to pause or restart replication between a pair of volumes. + :param volumeID: [required] The ID of the volume to be modified. + :type volumeID: int + + :param pausedManual: Specifies whether to pause or restart volume replication process. Valid values are: true: Pauses volume replication false: Restarts volume replication + :type pausedManual: bool + + :param mode: Specifies the volume replication mode. Possible values are: Async: Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: The source acknowledges the write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster are replicated. Active writes from the source volume are not replicated. + :type mode: str + + :param pauseLimit: Internal use only. + :type pauseLimit: int + """ + + self._check_connection_type("modify_volume_pair", "Cluster") + + params = { + "volumeID": volume_id, + } + if paused_manual is not None: + params["pausedManual"] = paused_manual + if mode is not None: + params["mode"] = mode + if pause_limit is not None: + params["pauseLimit"] = pause_limit + + # There is no adaptor. + return self.send_request( + 'ModifyVolumePair', + ModifyVolumePairResult, + params, + since=6.0 + ) + + def remove_cluster_pair( + self, + cluster_pair_id,): + """ + You can use the RemoveClusterPair method to close the open connections between two paired clusters. + Note: Before you remove a cluster pair, you must first remove all volume pairing to the clusters with the "RemoveVolumePair" API method. + :param clusterPairID: [required] Unique identifier used to pair two clusters. + :type clusterPairID: int + """ + + self._check_connection_type("remove_cluster_pair", "Cluster") + + params = { + "clusterPairID": cluster_pair_id, + } + + # There is no adaptor. + return self.send_request( + 'RemoveClusterPair', + RemoveClusterPairResult, + params, + since=6.0 + ) + + def remove_volume_pair( + self, + volume_id,): + """ + RemoveVolumePair enables you to remove the remote pairing between two volumes. Use this method on both the source and target volumes that are paired together. When you remove the volume pairing information, data is no longer replicated to or from the volume. + :param volumeID: [required] The ID of the volume on which to stop the replication process. + :type volumeID: int + """ + + self._check_connection_type("remove_volume_pair", "Cluster") + + params = { + "volumeID": volume_id, + } + + # There is no adaptor. + return self.send_request( + 'RemoveVolumePair', + RemoveVolumePairResult, + params, + since=6.0 + ) + + def start_cluster_pairing( + self,): + """ + You can use the StartClusterPairing method to create an encoded key from a cluster that is used to pair with another cluster. The key created from this API method is used in the CompleteClusterPairing API method to establish a cluster pairing. You can pair a cluster with a maximum of four other clusters. """ + + self._check_connection_type("start_cluster_pairing", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'StartClusterPairing', + StartClusterPairingResult, + params, + since=6.0 + ) + + def start_volume_pairing( + self, + volume_id, + mode=OPTIONAL,): + """ + StartVolumePairing enables you to create an encoded key from a volume that is used to pair with another volume. The key that this + method creates is used in the CompleteVolumePairing API method to establish a volume pairing. + :param volumeID: [required] The ID of the volume on which to start the pairing process. + :type volumeID: int + + :param mode: The mode of the volume on which to start the pairing process. The mode can only be set if the volume is the source volume. Possible values are: Async: (default if no mode parameter specified) Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: Source acknowledges write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster will be replicated. Active writes from the source volume are not replicated. + :type mode: str + """ + + self._check_connection_type("start_volume_pairing", "Cluster") + + params = { + "volumeID": volume_id, + } + if mode is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("start_volume_pairing", 8.0, + [("mode", mode, 8.0, False)]) + else: + params["mode"] = mode + + # There is no adaptor. + return self.send_request( + 'StartVolumePairing', + StartVolumePairingResult, + params, + since=6.0 + ) + + def reset_node( + self, + build, + force, + reboot=OPTIONAL, + options=OPTIONAL,): + """ + The ResetNode API method enables you to reset a node to the factory settings. All data, packages (software upgrades, and so on), + configurations, and log files are deleted from the node when you call this method. However, network settings for the node are + preserved during this operation. Nodes that are participating in a cluster cannot be reset to the factory settings. + The ResetNode API can only be used on nodes that are in an "Available" state. It cannot be used on nodes that are "Active" in a + cluster, or in a "Pending" state. + Caution: This method clears any data that is on the node. Exercise caution when using this method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param build: [required] Specifies the URL to a remote Element software image to which the node will be reset. + :type build: str + + :param force: [required] Required parameter to successfully reset the node. + :type force: bool + + :param reboot: Set to true if you want to reboot the node. + :type reboot: bool + + :param options: Used to enter specifications for running the reset operation. Available options: 'edebug': '', 'sf_auto': '0', 'sf_bond_mode': 'ActivePassive', 'sf_check_hardware': '0', 'sf_disable_otpw': '0', 'sf_fa_host': '', 'sf_hostname': 'SF-FA18', 'sf_inplace': '1', 'sf_inplace_die_action': 'kexec', 'sf_inplace_safe': '0', 'sf_keep_cluster_config': '0', 'sf_keep_data': '0', 'sf_keep_hostname': '0', 'sf_keep_network_config': '0', 'sf_keep_paths': '/var/log/hardware.xml 'sf_max_archives': '5', 'sf_nvram_size': '', 'sf_oldroot': '', 'sf_postinst_erase_root_drive': '0', 'sf_root_drive': '', 'sf_rtfi_cleanup_state': '', 'sf_secure_erase': '1', 'sf_secure_erase_retries': '5', 'sf_slice_size': '', 'sf_ssh_key': '1', 'sf_ssh_root': '1', 'sf_start_rtfi': '1', 'sf_status_httpserver': '1', 'sf_status_httpserver_stop_delay': '5m', 'sf_status_inject_failure': '', 'sf_status_json': '0', 'sf_support_host': 'sfsupport.solidfire.com', 'sf_test_hardware': '0', 'sf_upgrade': '0', 'sf_upgrade_firmware': '0', 'sf_upload_logs_url': '' + :type options: str + """ + + self._check_connection_type("reset_node", "Node") + + params = { + "build": build, + "force": force, + } + if reboot is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("reset_node", 9.0, + [("reboot", reboot, 9.0, False)]) + else: + params["reboot"] = reboot + if options is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("reset_node", 9.0, + [("options", options, 9.0, False)]) + else: + params["options"] = options + + # There is no adaptor. + return self.send_request( + 'ResetNode', + ResetNodeResult, + params, + since=5.0 + ) + + def restart_networking( + self, + force,): + """ + The RestartNetworking API method enables you to restart the networking services on a node. + Warning: This method restarts all networking services on a node, causing temporary loss of networking connectivity. + Exercise caution when using this method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param force: [required] Required parameter to successfully reset the node. + :type force: bool + """ + + self._check_connection_type("restart_networking", "Node") + + params = { + "force": force, + } + + # There is no adaptor. + return self.send_request( + 'RestartNetworking', + dict, + params, + since=5.0 + ) + + def shutdown( + self, + nodes, + option=OPTIONAL,): + """ + The Shutdown API method enables you to restart or shutdown a node that has not yet been added to a cluster. To use this method, + log in to the MIP for the pending node, and enter the "shutdown" method with either the "restart" or "halt" options. + :param nodes: [required] List of NodeIDs for the nodes to be shutdown. + :type nodes: int + + :param option: Specifies the action to take for the node shutdown. Possible values are: restart: Restarts the node. halt: Shuts down the node. + :type option: str + """ + + self._check_connection_type("shutdown", "Cluster") + + params = { + "nodes": nodes, + } + if option is not None: + params["option"] = option + + # There is no adaptor. + return self.send_request( + 'Shutdown', + ShutdownResult, + params, + since=1.0 + ) + + def invoke_sfapi( + self, + method, + parameters=OPTIONAL,): + """ + This will invoke any API method supported by the SolidFire API for the version and port the connection is using. + Returns a nested hashtable of key/value pairs that contain the result of the invoked method. + :param method: [required] The name of the method to invoke. This is case sensitive. + :type method: str + + :param parameters: An object, normally a dictionary or hashtable of the key/value pairs, to be passed as the params for the method being invoked. + :type parameters: str + """ + + self._check_connection_type("invoke_sfapi", "Both") + + params = { + "method": method, + } + if parameters is not None: + params["parameters"] = parameters + + # There is an adaptor! + since = 1.0 + deprecated = None + + return ElementServiceAdaptor.invoke_sfapi(self, params, + since, deprecated) + + def create_schedule( + self, + schedule,): + """ + CreateSchedule enables you to schedule an automatic snapshot of a volume at a defined interval. + You can use the created snapshot later as a backup or rollback to ensure the data on a volume or group of volumes is consistent for + the point in time in which the snapshot was created. + If you schedule a snapshot to run at a time period that is not divisible by 5 minutes, the snapshot runs at the next time period + that is divisible by 5 minutes. For example, if you schedule a snapshot to run at 12:42:00 UTC, it runs at 12:45:00 UTC. + Note: You can create snapshots if cluster fullness is at stage 1, 2 or 3. You cannot create snapshots after cluster fullness reaches stage 4 or 5. + :param schedule: [required] The "Schedule" object will be used to create a new schedule. Do not set ScheduleID property, it will be ignored. Frequency property must be of type that inherits from Frequency. Valid types are: DaysOfMonthFrequency DaysOrWeekFrequency TimeIntervalFrequency + :type schedule: Schedule + """ + + self._check_connection_type("create_schedule", "Cluster") + + params = { + "schedule": schedule, + } + + # There is an adaptor! + since = 8.0 + deprecated = None + + return ElementServiceAdaptor.create_schedule(self, params, + since, deprecated) + + def get_schedule( + self, + schedule_id,): + """ + You can use the GetSchedule method to retrieve information about a scheduled snapshot. You can see information about a specific + schedule if there are many snapshot schedules in the system. You also retrieve information about more than one schedule with this + method by specifying additional scheduleIDs in the parameter. + :param scheduleID: [required] Specifies the unique ID of the schedule or multiple schedules to display. + :type scheduleID: int + """ + + self._check_connection_type("get_schedule", "Cluster") + + params = { + "scheduleID": schedule_id, + } + + # There is an adaptor! + since = 8.0 + deprecated = None + + return ElementServiceAdaptor.get_schedule(self, params, + since, deprecated) + + def list_schedules( + self,): + """ + ListSchedule enables you to retrieve information about all scheduled snapshots that have been created. """ + + self._check_connection_type("list_schedules", "Cluster") + + params = { + } + + # There is an adaptor! + since = 8.0 + deprecated = None + + return ElementServiceAdaptor.list_schedules(self, params, + since, deprecated) + + def modify_schedule( + self, + schedule,): + """ + ModifySchedule enables you to change the intervals at which a scheduled snapshot occurs. This allows for adjustment to the snapshot frequency and retention. + :param schedule: [required] The "Schedule" object will be used to modify an existing schedule. The ScheduleID property is required. Frequency property must be of type that inherits from Frequency. Valid types are: DaysOfMonthFrequency DaysOrWeekFrequency TimeIntervalFrequency + :type schedule: Schedule + """ + + self._check_connection_type("modify_schedule", "Cluster") + + params = { + "schedule": schedule, + } + + # There is an adaptor! + since = 8.0 + deprecated = None + + return ElementServiceAdaptor.modify_schedule(self, params, + since, deprecated) + + def get_ipmi_config( + self, + chassis_type=OPTIONAL,): + """ + GetIpmiConfig enables you to retrieve hardware sensor information from sensors that are in your node. + :param chassisType: Displays information for each node chassis type. Valid values are: all: Returns sensor information for each chassis type. {chassis type}: Returns sensor information for a specified chassis type. + :type chassisType: str + """ + + self._check_connection_type("get_ipmi_config", "Cluster") + + params = { + } + if chassis_type is not None: + params["chassisType"] = chassis_type + + # There is no adaptor. + return self.send_request( + 'GetIpmiConfig', + GetIpmiConfigResult, + params, + since=9.0 + ) + + def get_ipmi_info( + self,): + """ + GetIpmiInfo enables you to display a detailed reporting of sensors (objects) for node fans, intake and exhaust temperatures, and power supplies that are monitored by the system. """ + + self._check_connection_type("get_ipmi_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetIpmiInfo', + GetIpmiInfoResult, + params, + since=9.0 + ) + + def list_services( + self,): + """ + You can use ListServices to return the services information for nodes, drives, current software, and other services that are running on the cluster. """ + + self._check_connection_type("list_services", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListServices', + ListServicesResult, + params, + since=1.0 + ) + + def restart_services( + self, + force, + service=OPTIONAL, + action=OPTIONAL,): + """ + The RestartServices API method enables you to restart the services on a node. + Caution: This method causes temporary node services interruption. Exercise caution when using this method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param force: [required] Required parameter to successfully restart services on a node. + :type force: bool + + :param service: Service name to be restarted. + :type service: str + + :param action: Action to perform on the service (start, stop, restart). + :type action: str + """ + + self._check_connection_type("restart_services", "Node") + + params = { + "force": force, + } + if service is not None: + params["service"] = service + if action is not None: + params["action"] = action + + # There is no adaptor. + return self.send_request( + 'RestartServices', + dict, + params, + since=5.0 + ) + + def create_group_snapshot( + self, + volumes, + name=OPTIONAL, + enable_remote_replication=OPTIONAL, + retention=OPTIONAL, + attributes=OPTIONAL, + snap_mirror_label=OPTIONAL,): + """ + CreateGroupSnapshot enables you to create a point-in-time copy of a group of volumes. You can use this snapshot later as a backup or rollback to ensure the data on the group of volumes is consistent for the point in time that you created the snapshot. + Note: Creating a group snapshot is allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + :param volumes: [required] Unique ID of the volume image from which to copy. + :type volumes: int + + :param name: Name for the group snapshot. If unspecified, the date and time the group snapshot was taken is used. + :type name: str + + :param enableRemoteReplication: Replicates the snapshot created to remote storage. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enableRemoteReplication: bool + + :param retention: Specifies the amount of time for which the snapshots are retained. The format is HH:mm:ss. + :type retention: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param snapMirrorLabel: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snapMirrorLabel: str + """ + + self._check_connection_type("create_group_snapshot", "Cluster") + + params = { + "volumes": volumes, + } + if name is not None: + params["name"] = name + if enable_remote_replication is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("create_group_snapshot", 8.0, + [("enable_remote_replication", enable_remote_replication, 8.0, False)]) + else: + params["enableRemoteReplication"] = enable_remote_replication + if retention is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("create_group_snapshot", 8.0, + [("retention", retention, 8.0, False)]) + else: + params["retention"] = retention + if attributes is not None: + params["attributes"] = attributes + if snap_mirror_label is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("create_group_snapshot", 10.0, + [("snap_mirror_label", snap_mirror_label, 10.0, False)]) + else: + params["snapMirrorLabel"] = snap_mirror_label + + # There is no adaptor. + return self.send_request( + 'CreateGroupSnapshot', + CreateGroupSnapshotResult, + params, + since=7.0 + ) + + def create_snapshot( + self, + volume_id, + snapshot_id=OPTIONAL, + name=OPTIONAL, + enable_remote_replication=OPTIONAL, + retention=OPTIONAL, + attributes=OPTIONAL, + snap_mirror_label=OPTIONAL,): + """ + CreateSnapshot enables you to create a point-in-time copy of a volume. You can create a snapshot from any volume or from an existing snapshot. If you do not provide a SnapshotID with this API method, a snapshot is created from the volume's active branch. + If the volume from which the snapshot is created is being replicated to a remote cluster, the snapshot can also be replicated to the same target. Use the enableRemoteReplication parameter to enable snapshot replication. + Note: Creating a snapshot is allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + :param volumeID: [required] Specifies the unique ID of the volume image from which to copy. + :type volumeID: int + + :param snapshotID: Specifies the unique ID of a snapshot from which the new snapshot is made. The snapshotID passed must be a snapshot on the given volume. + :type snapshotID: int + + :param name: Specifies a name for the snapshot. If unspecified, the date and time the snapshot was taken is used. + :type name: str + + :param enableRemoteReplication: Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enableRemoteReplication: bool + + :param retention: Specifies the amount of time for which the snapshot is retained. The format is HH:mm:ss. + :type retention: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param snapMirrorLabel: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snapMirrorLabel: str + """ + + self._check_connection_type("create_snapshot", "Cluster") + + params = { + "volumeID": volume_id, + } + if snapshot_id is not None: + params["snapshotID"] = snapshot_id + if name is not None: + params["name"] = name + if enable_remote_replication is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("create_snapshot", 8.0, + [("enable_remote_replication", enable_remote_replication, 8.0, False)]) + else: + params["enableRemoteReplication"] = enable_remote_replication + if retention is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("create_snapshot", 8.0, + [("retention", retention, 8.0, False)]) + else: + params["retention"] = retention + if attributes is not None: + params["attributes"] = attributes + if snap_mirror_label is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("create_snapshot", 10.0, + [("snap_mirror_label", snap_mirror_label, 10.0, False)]) + else: + params["snapMirrorLabel"] = snap_mirror_label + + # There is no adaptor. + return self.send_request( + 'CreateSnapshot', + CreateSnapshotResult, + params, + since=6.0 + ) + + def delete_group_snapshot( + self, + group_snapshot_id, + save_members,): + """ + DeleteGroupSnapshot enables you to delete a group snapshot. You can use the saveMembers parameter to preserve all the snapshots that were made for the volumes in the group, but the group association is removed. + :param groupSnapshotID: [required] Specifies the unique ID of the group snapshot. + :type groupSnapshotID: int + + :param saveMembers: [required] Specifies whether to preserve snapshots or delete them. Valid values are: true: Snapshots are preserved, but group association is removed. false: The group and snapshots are deleted. + :type saveMembers: bool + """ + + self._check_connection_type("delete_group_snapshot", "Cluster") + + params = { + "groupSnapshotID": group_snapshot_id, + "saveMembers": save_members, + } + + # There is no adaptor. + return self.send_request( + 'DeleteGroupSnapshot', + DeleteGroupSnapshotResult, + params, + since=7.0 + ) + + def delete_snapshot( + self, + snapshot_id,): + """ + DeleteSnapshot enables you to delete a snapshot. A snapshot that is currently the "active" snapshot cannot be deleted. You must + rollback and make another snapshot "active" before the current snapshot can be deleted. For more details on rolling back snapshots, see RollbackToSnapshot. + :param snapshotID: [required] The ID of the snapshot to be deleted. + :type snapshotID: int + """ + + self._check_connection_type("delete_snapshot", "Cluster") + + params = { + "snapshotID": snapshot_id, + } + + # There is no adaptor. + return self.send_request( + 'DeleteSnapshot', + DeleteSnapshotResult, + params, + since=6.0 + ) + + def list_group_snapshots( + self, + volumes=OPTIONAL, + group_snapshot_id=OPTIONAL,): + """ + ListGroupSnapshots enables you to get information about all group snapshots that have been created. + :param volumes: An array of unique volume IDs to query. If you do not specify this parameter, all group snapshots on the cluster are included. + :type volumes: int + + :param groupSnapshotID: Retrieves information for a specific group snapshot ID. + :type groupSnapshotID: int + """ + + self._check_connection_type("list_group_snapshots", "Cluster") + + params = { + } + if volumes is not None: + params["volumes"] = volumes + if group_snapshot_id is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_group_snapshots", 9.0, + [("group_snapshot_id", group_snapshot_id, 9.0, False)]) + else: + params["groupSnapshotID"] = group_snapshot_id + + # There is no adaptor. + return self.send_request( + 'ListGroupSnapshots', + ListGroupSnapshotsResult, + params, + since=7.0 + ) + + def list_snapshots( + self, + volume_id=OPTIONAL, + snapshot_id=OPTIONAL,): + """ + ListSnapshots enables you to return the attributes of each snapshot taken on the volume. Information about snapshots that reside on the target cluster is displayed on the source cluster when this method is called from the source cluster. + :param volumeID: Retrieves snapshots for a volume. If volumeID is not provided, all snapshots for all volumes are returned. + :type volumeID: int + + :param snapshotID: Retrieves information for a specific snapshot ID. + :type snapshotID: int + """ + + self._check_connection_type("list_snapshots", "Cluster") + + params = { + } + if volume_id is not None: + params["volumeID"] = volume_id + if snapshot_id is not None: + params["snapshotID"] = snapshot_id + + # There is no adaptor. + return self.send_request( + 'ListSnapshots', + ListSnapshotsResult, + params, + since=6.0 + ) + + def modify_group_snapshot( + self, + group_snapshot_id, + expiration_time=OPTIONAL, + enable_remote_replication=OPTIONAL, + snap_mirror_label=OPTIONAL,): + """ + ModifyGroupSnapshot enables you to change the attributes of a group of snapshots. You can also use this method to enable snapshots created on the Read/Write (source) volume to be remotely replicated to a target SolidFire storage system. + :param groupSnapshotID: [required] Specifies the ID of the group of snapshots. + :type groupSnapshotID: int + + :param expirationTime: Sets the time when the snapshot should be removed. If unspecified, the current time is used. + :type expirationTime: str + + :param enableRemoteReplication: Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enableRemoteReplication: bool + + :param snapMirrorLabel: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snapMirrorLabel: str + """ + + self._check_connection_type("modify_group_snapshot", "Cluster") + + params = { + "groupSnapshotID": group_snapshot_id, + } + if expiration_time is not None: + params["expirationTime"] = expiration_time + if enable_remote_replication is not None: + params["enableRemoteReplication"] = enable_remote_replication + if snap_mirror_label is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_group_snapshot", 10.0, + [("snap_mirror_label", snap_mirror_label, 10.0, False)]) + else: + params["snapMirrorLabel"] = snap_mirror_label + + # There is no adaptor. + return self.send_request( + 'ModifyGroupSnapshot', + ModifyGroupSnapshotResult, + params, + since=8.0 + ) + + def modify_snapshot( + self, + snapshot_id, + expiration_time=OPTIONAL, + enable_remote_replication=OPTIONAL, + snap_mirror_label=OPTIONAL,): + """ + ModifySnapshot enables you to change the attributes currently assigned to a snapshot. You can use this method to enable snapshots created on + the Read/Write (source) volume to be remotely replicated to a target SolidFire storage system. + :param snapshotID: [required] Specifies the ID of the snapshot. + :type snapshotID: int + + :param expirationTime: Sets the time when the snapshot should be removed. + :type expirationTime: str + + :param enableRemoteReplication: Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enableRemoteReplication: bool + + :param snapMirrorLabel: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snapMirrorLabel: str + """ + + self._check_connection_type("modify_snapshot", "Cluster") + + params = { + "snapshotID": snapshot_id, + } + if expiration_time is not None: + params["expirationTime"] = expiration_time + if enable_remote_replication is not None: + params["enableRemoteReplication"] = enable_remote_replication + if snap_mirror_label is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_snapshot", 10.0, + [("snap_mirror_label", snap_mirror_label, 10.0, False)]) + else: + params["snapMirrorLabel"] = snap_mirror_label + + # There is no adaptor. + return self.send_request( + 'ModifySnapshot', + ModifySnapshotResult, + params, + since=8.0 + ) + + def rollback_to_group_snapshot( + self, + group_snapshot_id, + save_current_state, + name=OPTIONAL, + attributes=OPTIONAL,): + """ + RollbackToGroupSnapshot enables you to roll back all individual volumes in a snapshot group to each volume's individual snapshot. + Note: Rolling back to a group snapshot creates a temporary snapshot of each volume within the group snapshot. + Snapshots are allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + :param groupSnapshotID: [required] Specifies the unique ID of the group snapshot. + :type groupSnapshotID: int + + :param saveCurrentState: [required] Specifies whether to save an active volume image or delete it. Values are: true: The previous active volume image is kept. false: (default) The previous active volume image is deleted. + :type saveCurrentState: bool + + :param name: Name for the group snapshot of the volume's current state that is created if "saveCurrentState" is set to true. If you do not give a name, the name of the snapshots (group and individual volume) are set to a timestamp of the time that the rollback occurred. + :type name: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("rollback_to_group_snapshot", "Cluster") + + params = { + "groupSnapshotID": group_snapshot_id, + "saveCurrentState": save_current_state, + } + if name is not None: + params["name"] = name + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'RollbackToGroupSnapshot', + RollbackToGroupSnapshotResult, + params, + since=7.0 + ) + + def rollback_to_snapshot( + self, + volume_id, + snapshot_id, + save_current_state, + name=OPTIONAL, + attributes=OPTIONAL,): + """ + RollbackToSnapshot enables you to make an existing snapshot of the "active" volume image. This method creates a new snapshot + from an existing snapshot. The new snapshot becomes "active" and the existing snapshot is preserved until you delete it. + The previously "active" snapshot is deleted unless you set the parameter saveCurrentState to true. + Note: Creating a snapshot is allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is + at stage 4 or 5. + :param volumeID: [required] VolumeID for the volume. + :type volumeID: int + + :param snapshotID: [required] The ID of a previously created snapshot on the given volume. + :type snapshotID: int + + :param saveCurrentState: [required] Specifies whether to save an active volume image or delete it. Values are: true: The previous active volume image is kept. false: (default) The previous active volume image is deleted. + :type saveCurrentState: bool + + :param name: Name for the snapshot. If unspecified, the name of the snapshot being rolled back to is used with "- copy" appended to the end of the name. + :type name: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("rollback_to_snapshot", "Cluster") + + params = { + "volumeID": volume_id, + "snapshotID": snapshot_id, + "saveCurrentState": save_current_state, + } + if name is not None: + params["name"] = name + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'RollbackToSnapshot', + RollbackToSnapshotResult, + params, + since=6.0 + ) + + def disable_snmp( + self,): + """ + You can use DisableSnmp to disable SNMP on the cluster nodes. """ + + self._check_connection_type("disable_snmp", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'DisableSnmp', + DisableSnmpResult, + params, + since=8.0 + ) + + def enable_snmp( + self, + snmp_v3_enabled,): + """ + EnableSnmp enables you to enable SNMP on cluster nodes. When you enable SNMP, the action applies to all nodes in the cluster, and + the values that are passed replace, in whole, all values set in any previous call to EnableSnmp. + :param snmpV3Enabled: [required] If set to "true", then SNMP v3 is enabled on each node in the cluster. If set to "false", then SNMP v2 is enabled. + :type snmpV3Enabled: bool + """ + + self._check_connection_type("enable_snmp", "Cluster") + + params = { + "snmpV3Enabled": snmp_v3_enabled, + } + + # There is no adaptor. + return self.send_request( + 'EnableSnmp', + EnableSnmpResult, + params, + since=8.0 + ) + + def get_snmp_acl( + self,): + """ + GetSnmpACL enables you to return the current SNMP access permissions on the cluster nodes. """ + + self._check_connection_type("get_snmp_acl", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetSnmpACL', + GetSnmpACLResult, + params, + since=8.0 + ) + + def get_snmp_info( + self,): + """ + GetSnmpInfo enables you to retrieve the current simple network management protocol (SNMP) configuration information. + Note: GetSnmpInfo is available for Element OS 8 and prior releases. It is deprecated for versions later than Element OS 8. + NetApp recommends that you migrate to the GetSnmpState and SetSnmpACL methods. See details in the Element API Reference Guide + for their descriptions and usage. """ + + self._check_connection_type("get_snmp_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetSnmpInfo', + GetSnmpInfoResult, + params, + since=1.0 + ) + + def get_snmp_state( + self,): + """ + You can use GetSnmpState to return the current state of the SNMP feature. """ + + self._check_connection_type("get_snmp_state", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetSnmpState', + GetSnmpStateResult, + params, + since=8.0 + ) + + def get_snmp_trap_info( + self,): + """ + You can use GetSnmpTrapInfo to return current SNMP trap configuration information. """ + + self._check_connection_type("get_snmp_trap_info", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetSnmpTrapInfo', + GetSnmpTrapInfoResult, + params, + since=5.0 + ) + + def set_snmp_acl( + self, + networks, + usm_users,): + """ + SetSnmpACL enables you to configure SNMP access permissions on the cluster nodes. The values you set with this interface apply to all + nodes in the cluster, and the values that are passed replace, in whole, all values set in any previous call to SetSnmpACL. Also note + that the values set with this interface replace all network or usmUsers values set with the older SetSnmpInfo. + :param networks: [required] List of networks and what type of access they have to the SNMP servers running on the cluster nodes. See SNMP Network Object for possible "networks" values. This parameter is required if SNMP v3 is disabled. + :type networks: SnmpNetwork + + :param usmUsers: [required] List of users and the type of access they have to the SNMP servers running on the cluster nodes. + :type usmUsers: SnmpV3UsmUser + """ + + self._check_connection_type("set_snmp_acl", "Cluster") + + params = { + "networks": networks, + "usmUsers": usm_users, + } + + # There is no adaptor. + return self.send_request( + 'SetSnmpACL', + SetSnmpACLResult, + params, + since=8.0 + ) + + def set_snmp_info( + self, + networks=OPTIONAL, + enabled=OPTIONAL, + snmp_v3_enabled=OPTIONAL, + usm_users=OPTIONAL,): + """ + SetSnmpInfo enables you to configure SNMP version 2 and version 3 on cluster nodes. The values you set with this interface apply to + all nodes in the cluster, and the values that are passed replace, in whole, all values set in any previous call to SetSnmpInfo. + Note: SetSnmpInfo is deprecated. Use the EnableSnmp and SetSnmpACL methods instead. + :param networks: List of networks and what type of access they have to the SNMP servers running on the cluster nodes. See the SNMP Network Object for possible "networks" values. This parameter is required only for SNMP v2. + :type networks: SnmpNetwork + + :param enabled: If set to true, SNMP is enabled on each node in the cluster. + :type enabled: bool + + :param snmpV3Enabled: If set to true, SNMP v3 is enabled on each node in the cluster. + :type snmpV3Enabled: bool + + :param usmUsers: If SNMP v3 is enabled, this value must be passed in place of the networks parameter. This parameter is required only for SNMP v3. + :type usmUsers: SnmpV3UsmUser + """ + + self._check_connection_type("set_snmp_info", "Cluster") + + params = { + } + if networks is not None: + params["networks"] = networks + if enabled is not None: + params["enabled"] = enabled + if snmp_v3_enabled is not None: + params["snmpV3Enabled"] = snmp_v3_enabled + if usm_users is not None: + params["usmUsers"] = usm_users + + # There is no adaptor. + return self.send_request( + 'SetSnmpInfo', + SetSnmpInfoResult, + params, + since=1.0 + ) + + def set_snmp_trap_info( + self, + trap_recipients, + cluster_fault_traps_enabled, + cluster_fault_resolved_traps_enabled, + cluster_event_traps_enabled,): + """ + You can use SetSnmpTrapInfo to enable and disable the generation of cluster SNMP notifications (traps) and to specify the set of network host computers that receive the notifications. The values you pass with each SetSnmpTrapInfo method call replace all values set in any previous call to SetSnmpTrapInfo. + :param trapRecipients: [required] List of hosts that are to receive the traps generated by the Cluster Master. At least one object is required if any one of the trap types is enabled. + :type trapRecipients: SnmpTrapRecipient + + :param clusterFaultTrapsEnabled: [required] If the value is set to true, a corresponding solidFireClusterFaultNotification is sent to the configured list of trap recipients when a cluster fault is logged. The default value is false. + :type clusterFaultTrapsEnabled: bool + + :param clusterFaultResolvedTrapsEnabled: [required] If the value is set to true, a corresponding solidFireClusterFaultResolvedNotification is sent to the configured list of trap recipients when a cluster fault is resolved. The default value is false. + :type clusterFaultResolvedTrapsEnabled: bool + + :param clusterEventTrapsEnabled: [required] If the value is set to true, a corresponding solidFireClusterEventNotification is sent to the configured list of trap recipients when a cluster event is logged. The default value is false. + :type clusterEventTrapsEnabled: bool + """ + + self._check_connection_type("set_snmp_trap_info", "Cluster") + + params = { + "trapRecipients": trap_recipients, + "clusterFaultTrapsEnabled": cluster_fault_traps_enabled, + "clusterFaultResolvedTrapsEnabled": cluster_fault_resolved_traps_enabled, + "clusterEventTrapsEnabled": cluster_event_traps_enabled, + } + + # There is no adaptor. + return self.send_request( + 'SetSnmpTrapInfo', + SetSnmpTrapInfoResult, + params, + since=5.0 + ) + + def snmp_send_test_traps( + self,): + """ + SnmpSendTestTraps enables you to test SNMP functionality for a cluster. This method instructs the cluster to send test SNMP traps to the currently configured SNMP manager. """ + + self._check_connection_type("snmp_send_test_traps", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'SnmpSendTestTraps', + SnmpSendTestTrapsResult, + params, + since=6.0 + ) + + def create_storage_container( + self, + name, + initiator_secret=OPTIONAL, + target_secret=OPTIONAL, + account_id=OPTIONAL,): + """ + CreateStorageContainer enables you to create a Virtual Volume (VVol) storage container. Storage containers are associated with a SolidFire storage system account, and are used for reporting and resource allocation. Storage containers can only be associated with virtual volumes. You need at least one storage container to use the Virtual Volumes feature. + :param name: [required] The name of the storage container. Follows SolidFire account naming restrictions. + :type name: str + + :param initiatorSecret: The secret for CHAP authentication for the initiator. + :type initiatorSecret: str + + :param targetSecret: The secret for CHAP authentication for the target. + :type targetSecret: str + + :param accountID: Non-storage container account that will become a storage container. + :type accountID: int + """ + + self._check_connection_type("create_storage_container", "Cluster") + + params = { + "name": name, + } + if initiator_secret is not None: + params["initiatorSecret"] = initiator_secret + if target_secret is not None: + params["targetSecret"] = target_secret + if account_id is not None: + params["accountID"] = account_id + + # There is no adaptor. + return self.send_request( + 'CreateStorageContainer', + CreateStorageContainerResult, + params, + since=9.0 + ) + + def delete_storage_containers( + self, + storage_container_ids,): + """ + DeleteStorageContainers enables you to remove up to 2000 Virtual Volume (VVol) storage containers from the system at one time. + The storage containers you remove must not contain any VVols. + :param storageContainerIDs: [required] A list of IDs of the storage containers to delete. You can specify up to 2000 IDs in the list. + :type storageContainerIDs: UUID + """ + + self._check_connection_type("delete_storage_containers", "Cluster") + + params = { + "storageContainerIDs": storage_container_ids, + } + + # There is no adaptor. + return self.send_request( + 'DeleteStorageContainers', + DeleteStorageContainerResult, + params, + since=9.0 + ) + + def get_storage_container_efficiency( + self, + storage_container_id,): + """ + GetStorageContainerEfficiency enables you to retrieve efficiency information about a virtual volume storage container. + :param storageContainerID: [required] The ID of the storage container for which to retrieve efficiency information. + :type storageContainerID: UUID + """ + + self._check_connection_type("get_storage_container_efficiency", "Cluster") + + params = { + "storageContainerID": storage_container_id, + } + + # There is no adaptor. + return self.send_request( + 'GetStorageContainerEfficiency', + GetStorageContainerEfficiencyResult, + params, + since=9.0 + ) + + def list_storage_containers( + self, + storage_container_ids=OPTIONAL,): + """ + ListStorageContainers enables you to retrieve information about all virtual volume storage containers known to the system. + :param storageContainerIDs: A list of storage container IDs for which to retrieve information. If you omit this parameter, the method returns information about all storage containers in the system. + :type storageContainerIDs: UUID + """ + + self._check_connection_type("list_storage_containers", "Cluster") + + params = { + } + if storage_container_ids is not None: + params["storageContainerIDs"] = storage_container_ids + + # There is no adaptor. + return self.send_request( + 'ListStorageContainers', + ListStorageContainersResult, + params, + since=9.0 + ) + + def modify_storage_container( + self, + storage_container_id, + initiator_secret=OPTIONAL, + target_secret=OPTIONAL,): + """ + ModifyStorageContainer enables you to make changes to an existing virtual volume storage container. + :param storageContainerID: [required] The unique ID of the virtual volume storage container to modify. + :type storageContainerID: UUID + + :param initiatorSecret: The new secret for CHAP authentication for the initiator. + :type initiatorSecret: str + + :param targetSecret: The new secret for CHAP authentication for the target. + :type targetSecret: str + """ + + self._check_connection_type("modify_storage_container", "Cluster") + + params = { + "storageContainerID": storage_container_id, + } + if initiator_secret is not None: + params["initiatorSecret"] = initiator_secret + if target_secret is not None: + params["targetSecret"] = target_secret + + # There is no adaptor. + return self.send_request( + 'ModifyStorageContainer', + ModifyStorageContainerResult, + params, + since=9.0 + ) + + def list_tests( + self,): + """ + You can use the ListTests API method to return the tests that are available to run on a node. + Note: This method is available only through the per-node API endpoint 5.0 or later. """ + + self._check_connection_type("list_tests", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListTests', + ListTestsResult, + params, + since=5.0 + ) + + def list_utilities( + self,): + """ + You can use the ListUtilities API method to return the operations that are available to run on a node. + Note: This method is available only through the per-node API endpoint 5.0 or later. """ + + self._check_connection_type("list_utilities", "Node") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListUtilities', + ListUtilitiesResult, + params, + since=5.0 + ) + + def test_connect_ensemble( + self, + ensemble=OPTIONAL,): + """ + The TestConnectEnsemble API method enables you to verify connectivity with a specified database ensemble. By default, it uses the ensemble for the cluster that the node is associated with. Alternatively, you can provide a different ensemble to test connectivity with. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param ensemble: Uses a comma-separated list of ensemble node cluster IP addresses to test connectivity. This parameter is optional. + :type ensemble: str + """ + + self._check_connection_type("test_connect_ensemble", "Node") + + params = { + } + if ensemble is not None: + params["ensemble"] = ensemble + + # There is no adaptor. + return self.send_request( + 'TestConnectEnsemble', + TestConnectEnsembleResult, + params, + since=5.0 + ) + + def test_connect_mvip( + self, + mvip=OPTIONAL,): + """ + The TestConnectMvip API method enables you to test the + management connection to the cluster. The test pings the MVIP and executes a simple API method to verify connectivity. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param mvip: If specified, tests the management connection of a different MVIP. You do not need to use this value when testing the connection to the target cluster. This parameter is optional. + :type mvip: str + """ + + self._check_connection_type("test_connect_mvip", "Node") + + params = { + } + if mvip is not None: + params["mvip"] = mvip + + # There is no adaptor. + return self.send_request( + 'TestConnectMvip', + TestConnectMvipResult, + params, + since=5.0 + ) + + def test_connect_svip( + self, + svip=OPTIONAL,): + """ + The TestConnectSvip API method enables you to test the storage connection to the cluster. The test pings the SVIP using ICMP packets, and when successful, connects as an iSCSI initiator. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param svip: If specified, tests the storage connection of a different SVIP. You do not need to use this value when testing the connection to the target cluster. This parameter is optional. + :type svip: str + """ + + self._check_connection_type("test_connect_svip", "Node") + + params = { + } + if svip is not None: + params["svip"] = svip + + # There is no adaptor. + return self.send_request( + 'TestConnectSvip', + TestConnectSvipResult, + params, + since=5.0 + ) + + def test_ping( + self, + attempts=OPTIONAL, + hosts=OPTIONAL, + total_timeout_sec=OPTIONAL, + packet_size=OPTIONAL, + ping_timeout_msec=OPTIONAL, + prohibit_fragmentation=OPTIONAL,): + """ + You can use the TestPing API method to validate the + connection to all the nodes in a cluster on both 1G and 10G interfaces by using ICMP packets. The test uses the appropriate MTU sizes for each packet based on the MTU settings in the network configuration. + Note: This method is available only through the per-node API endpoint 5.0 or later. + :param attempts: Specifies the number of times the system should repeat the test ping. The default value is 5. + :type attempts: int + + :param hosts: Specifies a comma-separated list of addresses or hostnames of devices to ping. + :type hosts: str + + :param totalTimeoutSec: Specifies the length of time the ping should wait for a system response before issuing the next ping attempt or ending the process. + :type totalTimeoutSec: int + + :param packetSize: Specifies the number of bytes to send in the ICMP packet that is sent to each IP. The number must be less than the maximum MTU specified in the network configuration. + :type packetSize: int + + :param pingTimeoutMsec: Specifies the number of milliseconds to wait for each individual ping response. The default value is 500 ms. + :type pingTimeoutMsec: int + + :param prohibitFragmentation: Specifies that the Do not Fragment (DF) flag is enabled for the ICMP packets. + :type prohibitFragmentation: bool + """ + + self._check_connection_type("test_ping", "Node") + + params = { + } + if attempts is not None: + params["attempts"] = attempts + if hosts is not None: + params["hosts"] = hosts + if total_timeout_sec is not None: + params["totalTimeoutSec"] = total_timeout_sec + if packet_size is not None: + params["packetSize"] = packet_size + if ping_timeout_msec is not None: + params["pingTimeoutMsec"] = ping_timeout_msec + if prohibit_fragmentation is not None: + params["prohibitFragmentation"] = prohibit_fragmentation + + # There is no adaptor. + return self.send_request( + 'TestPing', + TestPingResult, + params, + since=5.0 + ) + + def add_virtual_network( + self, + virtual_network_tag, + name, + address_blocks, + netmask, + svip, + gateway=OPTIONAL, + namespace=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use the AddVirtualNetwork method to add a new virtual network to a cluster configuration. When you add a virtual network, + an interface for each node is created and each interface will require a virtual network IP address. The number of IP addresses you + specify as a parameter for this API method must be equal to or greater than the number of nodes in the cluster. The system bulk + provisions virtual network addresses and assigns them to individual nodes automatically. You do not need to assign virtual + network addresses to nodes manually. + Note: You can use AddVirtualNetwork only to create a new virtual network. If you want to make changes to an + existing virtual network, use ModifyVirtualNetwork. + Note: Virtual network parameters must be unique to each virtual network when setting the namespace parameter to false. + :param virtualNetworkTag: [required] A unique virtual network (VLAN) tag. Supported values are 1 through 4094.The number zero (0) is not supported. + :type virtualNetworkTag: int + + :param name: [required] A user-defined name for the new virtual network. + :type name: str + + :param addressBlocks: [required] Unique range of IP addresses to include in the virtual network. Attributes for this parameter are: start: The start of the IP address range. (String) size: The number of IP addresses to include in the block. (Integer) + :type addressBlocks: AddressBlockParams + + :param netmask: [required] Unique network mask for the virtual network being created. + :type netmask: str + + :param svip: [required] Unique storage IP address for the virtual network being created. + :type svip: str + + :param gateway: The IP address of a gateway of the virtual network. This parameter is only valid if the "namespace" parameter is set to true. + :type gateway: str + + :param namespace: When set to true, enables the Routable Storage VLANs functionality by creating and configuring a namespace and the virtual network contained by it. + :type namespace: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("add_virtual_network", "Cluster") + + params = { + "virtualNetworkTag": virtual_network_tag, + "name": name, + "addressBlocks": address_blocks, + "netmask": netmask, + "svip": svip, + } + if gateway is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("add_virtual_network", 9.0, + [("gateway", gateway, 9.0, False)]) + else: + params["gateway"] = gateway + if namespace is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("add_virtual_network", 9.0, + [("namespace", namespace, 9.0, False)]) + else: + params["namespace"] = namespace + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'AddVirtualNetwork', + AddVirtualNetworkResult, + params, + since=7.0 + ) + + def list_virtual_networks( + self, + virtual_network_id=OPTIONAL, + virtual_network_tag=OPTIONAL, + virtual_network_ids=OPTIONAL, + virtual_network_tags=OPTIONAL,): + """ + ListVirtualNetworks enables you to list all configured virtual networks for the cluster. You can use this method to verify the virtual + network settings in the cluster. + There are no required parameters for this method. However, to filter the results, you can pass one or more VirtualNetworkID or + VirtualNetworkTag values. + :param virtualNetworkID: Network ID to filter the list for a single virtual network. + :type virtualNetworkID: int + + :param virtualNetworkTag: Network tag to filter the list for a single virtual network. + :type virtualNetworkTag: int + + :param virtualNetworkIDs: Network IDs to include in the list. + :type virtualNetworkIDs: int + + :param virtualNetworkTags: Network tag to include in the list. + :type virtualNetworkTags: int + """ + + self._check_connection_type("list_virtual_networks", "Cluster") + + params = { + } + if virtual_network_id is not None: + params["virtualNetworkID"] = virtual_network_id + if virtual_network_tag is not None: + params["virtualNetworkTag"] = virtual_network_tag + if virtual_network_ids is not None: + params["virtualNetworkIDs"] = virtual_network_ids + if virtual_network_tags is not None: + params["virtualNetworkTags"] = virtual_network_tags + + # There is no adaptor. + return self.send_request( + 'ListVirtualNetworks', + ListVirtualNetworksResult, + params, + since=7.0 + ) + + def modify_virtual_network( + self, + virtual_network_id=OPTIONAL, + virtual_network_tag=OPTIONAL, + name=OPTIONAL, + address_blocks=OPTIONAL, + netmask=OPTIONAL, + svip=OPTIONAL, + gateway=OPTIONAL, + namespace=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use ModifyVirtualNetwork to change the attributes of an existing virtual network. This method enables you to add or remove + address blocks, change the netmask, or modify the name or description of the virtual network. You can also use it to enable or + disable namespaces, as well as add or remove a gateway if namespaces are enabled on the virtual network. + Note: This method requires either the VirtualNetworkID or the VirtualNetworkTag as a parameter, but not both. + Caution: Enabling or disabling the Routable Storage VLANs functionality for an existing virtual network by changing the + "namespace" parameter disrupts any traffic handled by the virtual network. NetApp strongly recommends changing the + "namespace" parameter only during a scheduled maintenance window. + :param virtualNetworkID: The unique identifier of the virtual network to modify. This is the virtual network ID assigned by the cluster. Note: This parameter is optional but either virtualNetworkID or virtualNetworkTag must be specified with this API method. + :type virtualNetworkID: int + + :param virtualNetworkTag: The network tag that identifies the virtual network to modify. Note: This parameter is optional but either virtualNetworkID or virtualNetworkTag must be specified with this API method. + :type virtualNetworkTag: int + + :param name: The new name for the virtual network. + :type name: str + + :param addressBlocks: The new addressBlock to set for this virtual network. This might contain new address blocks to add to the existing object or omit unused address blocks that need to be removed. Alternatively, you can extend or reduce the size of existing address blocks. You can only increase the size of the starting addressBlocks for a virtual network object; you can never decrease it. Attributes for this parameter are: start: The start of the IP address range. (String) size: The number of IP addresses to include in the block. (Integer) + :type addressBlocks: AddressBlockParams + + :param netmask: New network mask for this virtual network. + :type netmask: str + + :param svip: The storage virtual IP address for this virtual network. The svip for a virtual network cannot be changed. You must create a new virtual network to use a different svip address. + :type svip: str + + :param gateway: The IP address of a gateway of the virtual network. This parameter is only valid if the "namespace" parameter is set to true. + :type gateway: str + + :param namespace: When set to true, enables Routable Storage VLANs functionality by recreating the virtual network and configuring a namespace to contain it. When set to false, disables the VRF functionality for the virtual network. Changing this value disrupts traffic running through this virtual network. + :type namespace: bool + + :param attributes: A new list of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("modify_virtual_network", "Cluster") + + params = { + } + if virtual_network_id is not None: + params["virtualNetworkID"] = virtual_network_id + if virtual_network_tag is not None: + params["virtualNetworkTag"] = virtual_network_tag + if name is not None: + params["name"] = name + if address_blocks is not None: + params["addressBlocks"] = address_blocks + if netmask is not None: + params["netmask"] = netmask + if svip is not None: + params["svip"] = svip + if gateway is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("modify_virtual_network", 9.0, + [("gateway", gateway, 9.0, False)]) + else: + params["gateway"] = gateway + if namespace is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("modify_virtual_network", 9.0, + [("namespace", namespace, 9.0, False)]) + else: + params["namespace"] = namespace + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'ModifyVirtualNetwork', + AddVirtualNetworkResult, + params, + since=7.0 + ) + + def remove_virtual_network( + self, + virtual_network_id=OPTIONAL, + virtual_network_tag=OPTIONAL,): + """ + RemoveVirtualNetwork enables you to remove a previously added virtual network. + Note: This method requires either the virtualNetworkID or the virtualNetworkTag as a parameter, but not both. + :param virtualNetworkID: Network ID that identifies the virtual network to remove. + :type virtualNetworkID: int + + :param virtualNetworkTag: Network tag that identifies the virtual network to remove. + :type virtualNetworkTag: int + """ + + self._check_connection_type("remove_virtual_network", "Cluster") + + params = { + } + if virtual_network_id is not None: + params["virtualNetworkID"] = virtual_network_id + if virtual_network_tag is not None: + params["virtualNetworkTag"] = virtual_network_tag + + # There is no adaptor. + return self.send_request( + 'RemoveVirtualNetwork', + RemoveVirtualNetworkResult, + params, + since=7.0 + ) + + def enable_feature( + self, + feature,): + """ + You can use EnableFeature to enable cluster features that are disabled by default. + :param feature: [required] Indicates which feature to enable. Valid value is: vvols: Enable the NetApp SolidFire VVols cluster feature. + :type feature: str + """ + + self._check_connection_type("enable_feature", "Cluster") + + params = { + "feature": feature, + } + + # There is no adaptor. + return self.send_request( + 'EnableFeature', + EnableFeatureResult, + params, + since=9.0 + ) + + def get_feature_status( + self, + feature=OPTIONAL,): + """ + GetFeatureStatus enables you to retrieve the status of a cluster feature. + :param feature: Specifies the feature for which the status is returned. Valid value is: vvols: Retrieve status for the NetApp SolidFire VVols cluster feature. + :type feature: str + """ + + self._check_connection_type("get_feature_status", "Cluster") + + params = { + } + if feature is not None: + params["feature"] = feature + + # There is no adaptor. + return self.send_request( + 'GetFeatureStatus', + GetFeatureStatusResult, + params, + since=9.0 + ) + + def get_virtual_volume_count( + self,): + """ + Enables retrieval of the number of virtual volumes currently in the system. """ + + self._check_connection_type("get_virtual_volume_count", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetVirtualVolumeCount', + GetVirtualVolumeCountResult, + params, + since=9.0 + ) + + def list_protocol_endpoints( + self, + protocol_endpoint_ids=OPTIONAL,): + """ + ListProtocolEndpoints enables you to retrieve information about all protocol endpoints in the cluster. Protocol endpoints govern + access to their associated virtual volume storage containers. + :param protocolEndpointIDs: A list of protocol endpoint IDs for which to retrieve information. If you omit this parameter, the method returns information about all protocol endpoints. + :type protocolEndpointIDs: UUID + """ + + self._check_connection_type("list_protocol_endpoints", "Cluster") + + params = { + } + if protocol_endpoint_ids is not None: + params["protocolEndpointIDs"] = protocol_endpoint_ids + + # There is no adaptor. + return self.send_request( + 'ListProtocolEndpoints', + ListProtocolEndpointsResult, + params, + since=9.0 + ) + + def list_virtual_volume_bindings( + self, + virtual_volume_binding_ids=OPTIONAL,): + """ + ListVirtualVolumeBindings returns a list of all virtual volumes in the cluster that are bound to protocol endpoints. + :param virtualVolumeBindingIDs: A list of virtual volume binding IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume bindings. + :type virtualVolumeBindingIDs: int + """ + + self._check_connection_type("list_virtual_volume_bindings", "Cluster") + + params = { + } + if virtual_volume_binding_ids is not None: + params["virtualVolumeBindingIDs"] = virtual_volume_binding_ids + + # There is no adaptor. + return self.send_request( + 'ListVirtualVolumeBindings', + ListVirtualVolumeBindingsResult, + params, + since=9.0 + ) + + def list_virtual_volume_hosts( + self, + virtual_volume_host_ids=OPTIONAL,): + """ + ListVirtualVolumeHosts returns a list of all virtual volume hosts known to the cluster. A virtual volume host is a VMware ESX host + that has initiated a session with the VASA API provider. + :param virtualVolumeHostIDs: A list of virtual volume host IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume hosts. + :type virtualVolumeHostIDs: UUID + """ + + self._check_connection_type("list_virtual_volume_hosts", "Cluster") + + params = { + } + if virtual_volume_host_ids is not None: + params["virtualVolumeHostIDs"] = virtual_volume_host_ids + + # There is no adaptor. + return self.send_request( + 'ListVirtualVolumeHosts', + ListVirtualVolumeHostsResult, + params, + since=9.0 + ) + + def list_virtual_volume_tasks( + self, + virtual_volume_task_ids=OPTIONAL,): + """ + ListVirtualVolumeTasks returns a list of virtual volume tasks in the system. + :param virtualVolumeTaskIDs: A list of virtual volume task IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume tasks. + :type virtualVolumeTaskIDs: UUID + """ + + self._check_connection_type("list_virtual_volume_tasks", "Cluster") + + params = { + } + if virtual_volume_task_ids is not None: + params["virtualVolumeTaskIDs"] = virtual_volume_task_ids + + # There is no adaptor. + return self.send_request( + 'ListVirtualVolumeTasks', + ListVirtualVolumeTasksResult, + params, + since=9.0 + ) + + def list_virtual_volumes( + self, + details=OPTIONAL, + limit=OPTIONAL, + recursive=OPTIONAL, + start_virtual_volume_id=OPTIONAL, + virtual_volume_ids=OPTIONAL,): + """ + ListVirtualVolumes enables you to list the virtual volumes currently in the system. You can use this method to list all virtual volumes, + or only list a subset. + :param details: Specifies the level of detail about each virtual volume that is returned. Possible values are: true: Include more details about each virtual volume in the response. false: Include the standard level of detail about each virtual volume in the response. + :type details: bool + + :param limit: The maximum number of virtual volumes to list. + :type limit: int + + :param recursive: Specifies whether to include information about the children of each virtual volume in the response. Possible values are: true: Include information about the children of each virtual volume in the response. false: Do not include information about the children of each virtual volume in the response. + :type recursive: bool + + :param startVirtualVolumeID: The ID of the virtual volume at which to begin the list. + :type startVirtualVolumeID: UUID + + :param virtualVolumeIDs: A list of virtual volume IDs for which to retrieve information. If you specify this parameter, the method returns information about only these virtual volumes. + :type virtualVolumeIDs: UUID + """ + + self._check_connection_type("list_virtual_volumes", "Cluster") + + params = { + } + if details is not None: + params["details"] = details + if limit is not None: + params["limit"] = limit + if recursive is not None: + params["recursive"] = recursive + if start_virtual_volume_id is not None: + params["startVirtualVolumeID"] = start_virtual_volume_id + if virtual_volume_ids is not None: + params["virtualVolumeIDs"] = virtual_volume_ids + + # There is no adaptor. + return self.send_request( + 'ListVirtualVolumes', + ListVirtualVolumesResult, + params, + since=9.0 + ) + + def list_volume_stats_by_virtual_volume( + self, + virtual_volume_ids=OPTIONAL,): + """ + ListVolumeStatsByVirtualVolume enables you to list volume statistics for any volumes in the system that are associated with virtual volumes. Statistics are cumulative from the creation of the volume. + :param virtualVolumeIDs: A list of one or more virtual volume IDs for which to retrieve information. If you specify this parameter, the method returns information about only these virtual volumes. + :type virtualVolumeIDs: UUID + """ + + self._check_connection_type("list_volume_stats_by_virtual_volume", "Cluster") + + params = { + } + if virtual_volume_ids is not None: + params["virtualVolumeIDs"] = virtual_volume_ids + + # There is no adaptor. + return self.send_request( + 'ListVolumeStatsByVirtualVolume', + ListVolumeStatsByVirtualVolumeResult, + params, + since=9.0 + ) + + def add_volumes_to_volume_access_group( + self, + volume_access_group_id, + volumes,): + """ + AddVolumesToVolumeAccessGroup enables you to add + volumes to a specified volume access group. + :param volumeAccessGroupID: [required] The ID of the volume access group to which volumes are added. + :type volumeAccessGroupID: int + + :param volumes: [required] The list of volumes to add to the volume access group. + :type volumes: int + """ + + self._check_connection_type("add_volumes_to_volume_access_group", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + "volumes": volumes, + } + + # There is no adaptor. + return self.send_request( + 'AddVolumesToVolumeAccessGroup', + ModifyVolumeAccessGroupResult, + params, + since=5.0 + ) + + def cancel_clone( + self, + clone_id,): + """ + CancelClone enables you to stop an ongoing CloneVolume or CopyVolume process. When you cancel a group clone operation, the + system completes and removes the operation's associated asyncHandle. + :param cloneID: [required] The cloneID for the ongoing clone process. + :type cloneID: int + """ + + self._check_connection_type("cancel_clone", "Cluster") + + params = { + "cloneID": clone_id, + } + + # There is no adaptor. + return self.send_request( + 'CancelClone', + CancelCloneResult, + params, + since=9.0 + ) + + def cancel_group_clone( + self, + group_clone_id,): + """ + CancelGroupClone enables you to stop an ongoing CloneMultipleVolumes process occurring on a group of volumes. When you cancel + a group clone operation, the system completes and removes the operation's associated asyncHandle. + :param groupCloneID: [required] The cloneID for the ongoing clone process. + :type groupCloneID: int + """ + + self._check_connection_type("cancel_group_clone", "Cluster") + + params = { + "groupCloneID": group_clone_id, + } + + # There is no adaptor. + return self.send_request( + 'CancelGroupClone', + CancelGroupCloneResult, + params, + since=9.0 + ) + + def clone_multiple_volumes( + self, + volumes, + access=OPTIONAL, + group_snapshot_id=OPTIONAL, + new_account_id=OPTIONAL,): + """ + CloneMultipleVolumes enables you to create a clone of a group of specified volumes. You can assign a consistent set of characteristics + to a group of multiple volumes when they are cloned together. + Before using groupSnapshotID to clone the volumes in a group snapshot, you must create the group snapshot by using the + CreateGroupSnapshot API method or the Element OS Web UI. Using groupSnapshotID is optional when cloning multiple volumes. + Note: Cloning multiple volumes is allowed if cluster fullness is at stage 2 or 3. Clones are not created when cluster fullness is + at stage 4 or 5. + :param volumes: [required] Unique ID for each volume to include in the clone. If optional parameters are not specified, the values are inherited from the source volumes. Required parameter for "volumes" array: volumeID Optional parameters for "volumes" array: access: Can be one of readOnly, readWrite, locked, or replicationTarget attributes: List of name-value pairs in JSON object format. name: New name for the clone. newAccountID: Account ID for the new volumes. newSize: New size Total size of the volume, in bytes. Size is rounded up to the nearest 1MB. + :type volumes: CloneMultipleVolumeParams + + :param access: New default access method for the new volumes if not overridden by information passed in the volume's array. + :type access: str + + :param groupSnapshotID: ID of the group snapshot to use as a basis for the clone. + :type groupSnapshotID: int + + :param newAccountID: New account ID for the volumes if not overridden by information passed in the volumes array. + :type newAccountID: int + """ + + self._check_connection_type("clone_multiple_volumes", "Cluster") + + params = { + "volumes": volumes, + } + if access is not None: + params["access"] = access + if group_snapshot_id is not None: + params["groupSnapshotID"] = group_snapshot_id + if new_account_id is not None: + params["newAccountID"] = new_account_id + + # There is no adaptor. + return self.send_request( + 'CloneMultipleVolumes', + CloneMultipleVolumesResult, + params, + since=7.0 + ) + + def clone_volume( + self, + volume_id, + name, + new_account_id=OPTIONAL, + new_size=OPTIONAL, + access=OPTIONAL, + snapshot_id=OPTIONAL, + attributes=OPTIONAL, + enable512e=OPTIONAL,): + """ + CloneVolume enables you to create a copy of a volume. This method is asynchronous and might take a variable amount of time to complete. The cloning process begins immediately when you make the CloneVolume request and is representative of the state of the volume when the API method is issued. You can use the GetAsyncResult method to determine when the cloning process is complete and the new volume is available for connections. You can use ListSyncJobs to see the progress of creating the clone. + Note: The initial attributes and QoS settings for the volume are inherited from the volume being cloned. You can change these settings with ModifyVolume. + Note: Cloned volumes do not inherit volume access group memberships from the source volume. + :param volumeID: [required] VolumeID for the volume to be cloned. + :type volumeID: int + + :param name: [required] The name of the new cloned volume. Might be 1 to 64 characters in length. + :type name: str + + :param newAccountID: AccountID for the owner of the new volume. If unspecified, the accountID of the owner of the volume being cloned is used. + :type newAccountID: int + + :param newSize: New size of the volume, in bytes. Might be greater or less than the size of the volume being cloned. If unspecified, the volume size is not changed. Size is rounded to the nearest 1MB. + :type newSize: int + + :param access: Specifies the level of access allowed for the new volume. Possible values are: readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. If unspecified, the level of access of the volume being cloned is used. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If a value is not specified, the access value does not change. + :type access: str + + :param snapshotID: ID of the snapshot that is used as the source of the clone. If no ID is provided, the current active volume is used. + :type snapshotID: int + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param enable512e: Should the volume provide 512-byte sector emulation? + :type enable512e: bool + """ + + self._check_connection_type("clone_volume", "Cluster") + + params = { + "volumeID": volume_id, + "name": name, + } + if new_account_id is not None: + params["newAccountID"] = new_account_id + if new_size is not None: + params["newSize"] = new_size + if access is not None: + params["access"] = access + if snapshot_id is not None: + params["snapshotID"] = snapshot_id + if attributes is not None: + params["attributes"] = attributes + if enable512e is not None: + params["enable512e"] = enable512e + + # There is no adaptor. + return self.send_request( + 'CloneVolume', + CloneVolumeResult, + params, + since=1.0 + ) + + def copy_volume( + self, + volume_id, + dst_volume_id, + snapshot_id=OPTIONAL,): + """ + CopyVolume enables you to overwrite the data contents of an existing volume with the data contents of another volume (or + snapshot). Attributes of the destination volume such as IQN, QoS settings, size, account, and volume access group membership are + not changed. The destination volume must already exist and must be the same size as the source volume. + NetApp strongly recommends that clients unmount the destination volume before the CopyVolume operation begins. If the + destination volume is modified during the copy operation, the changes will be lost. + This method is asynchronous and may take a variable amount of time to complete. You can use the GetAsyncResult method to + determine when the process has finished, and ListSyncJobs to see the progress of the copy. + :param volumeID: [required] VolumeID of the volume to be read from. + :type volumeID: int + + :param dstVolumeID: [required] VolumeID of the volume to be overwritten. + :type dstVolumeID: int + + :param snapshotID: ID of the snapshot that is used as the source of the clone. If no ID is provided, the current active volume is used. + :type snapshotID: int + """ + + self._check_connection_type("copy_volume", "Cluster") + + params = { + "volumeID": volume_id, + "dstVolumeID": dst_volume_id, + } + if snapshot_id is not None: + params["snapshotID"] = snapshot_id + + # There is no adaptor. + return self.send_request( + 'CopyVolume', + CopyVolumeResult, + params, + since=9.0 + ) + + def create_qos_policy( + self, + name, + qos,): + """ + You can use the CreateQoSPolicy method to create a QoSPolicy object that you can later apply to a volume upon creation or modification. A QoS policy has a unique ID, a name, and QoS settings. + :param name: [required] The name of the QoS policy; for example, gold, platinum, or silver. + :type name: str + + :param qos: [required] The QoS settings that this policy represents. + :type qos: QoS + """ + + self._check_connection_type("create_qos_policy", "Cluster") + + params = { + "name": name, + "qos": qos, + } + + # There is no adaptor. + return self.send_request( + 'CreateQoSPolicy', + CreateQoSPolicyResult, + params, + since=10.0 + ) + + def create_volume( + self, + name, + account_id, + total_size, + enable512e, + qos=OPTIONAL, + attributes=OPTIONAL, + associate_with_qos_policy=OPTIONAL, + qos_policy_id=OPTIONAL,): + """ + CreateVolume enables you to create a new (empty) volume on the cluster. As soon as the volume creation is complete, the volume is + available for connection via iSCSI. + :param name: [required] The name of the volume access group (might be user specified). Not required to be unique, but recommended. Might be 1 to 64 characters in length. + :type name: str + + :param accountID: [required] AccountID for the owner of this volume. + :type accountID: int + + :param totalSize: [required] Total size of the volume, in bytes. Size is rounded up to the nearest 1MB size. + :type totalSize: int + + :param enable512e: [required] Specifies whether 512e emulation is enabled or not. Possible values are: true: The volume provides 512-byte sector emulation. false: 512e emulation is not enabled. + :type enable512e: bool + + :param qos: Initial quality of service settings for this volume. Default values are used if none are specified. Valid settings are: minIOPS maxIOPS burstIOPS You can get the default values for a volume by using the GetDefaultQoS method. + :type qos: QoS + + :param attributes: The list of name-value pairs in JSON object format. Total attribute size must be less than 1000B, or 1KB, including JSON formatting characters. + :type attributes: dict + + :param associateWithQoSPolicy: Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. + :type associateWithQoSPolicy: bool + + :param qosPolicyID: The ID for the policy whose QoS settings should be applied to the specified volumes. This parameter is mutually exclusive with the qos parameter. + :type qosPolicyID: int + """ + + self._check_connection_type("create_volume", "Cluster") + + params = { + "name": name, + "accountID": account_id, + "totalSize": total_size, + "enable512e": enable512e, + } + if qos is not None: + params["qos"] = qos + if attributes is not None: + params["attributes"] = attributes + if associate_with_qos_policy is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("create_volume", 10.0, + [("associate_with_qos_policy", associate_with_qos_policy, 10.0, False)]) + else: + params["associateWithQoSPolicy"] = associate_with_qos_policy + if qos_policy_id is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("create_volume", 10.0, + [("qos_policy_id", qos_policy_id, 10.0, False)]) + else: + params["qosPolicyID"] = qos_policy_id + + # There is no adaptor. + return self.send_request( + 'CreateVolume', + CreateVolumeResult, + params, + since=1.0 + ) + + def delete_qos_policy( + self, + qos_policy_id,): + """ + You can use the DeleteQoSPolicy method to delete a QoS policy from the system. + The QoS settings for all volumes created of modified with this policy are unaffected. + :param qosPolicyID: [required] The ID of the QoS policy to be deleted. + :type qosPolicyID: int + """ + + self._check_connection_type("delete_qos_policy", "Cluster") + + params = { + "qosPolicyID": qos_policy_id, + } + + # There is no adaptor. + return self.send_request( + 'DeleteQoSPolicy', + DeleteQoSPolicyResult, + params, + since=10.0 + ) + + def delete_volume( + self, + volume_id,): + """ + DeleteVolume marks an active volume for deletion. When marked, the volume is purged (permanently deleted) after the cleanup + interval elapses. After making a request to delete a volume, any active iSCSI connections to the volume are immediately terminated + and no further connections are allowed while the volume is in this state. A marked volume is not returned in target discovery + requests. + Any snapshots of a volume that has been marked for deletion are not affected. Snapshots are kept until the volume is purged from + the system. + If a volume is marked for deletion and has a bulk volume read or bulk volume write operation in progress, the bulk volume read or + write operation is stopped. + If the volume you delete is paired with a volume, replication between the paired volumes is suspended and no data is transferred + to it or from it while in a deleted state. The remote volume that the deleted volume was paired with enters into a PausedMisconfigured state and data is no longer sent to it or from the deleted volume. Until the deleted volume is purged, it can be restored and data transfers resume. If the deleted volume gets purged from the system, the volume it was paired with enters into a StoppedMisconfigured state and the volume pairing status is removed. The purged volume becomes permanently unavailable. + :param volumeID: [required] The ID of the volume to be deleted. + :type volumeID: int + """ + + self._check_connection_type("delete_volume", "Cluster") + + params = { + "volumeID": volume_id, + } + + # There is no adaptor. + return self.send_request( + 'DeleteVolume', + DeleteVolumeResult, + params, + since=1.0 + ) + + def delete_volumes( + self, + account_ids=OPTIONAL, + volume_access_group_ids=OPTIONAL, + volume_ids=OPTIONAL,): + """ + DeleteVolumes marks multiple (up to 500) active volumes for deletion. + Once marked, the volumes are purged (permanently deleted) after the cleanup interval elapses. + The cleanup interval can be set in the SetClusterSettings method. + For more information on using this method, see SetClusterSettings on page 1. + After making a request to delete volumes, any active iSCSI connections to the volumes are immediately terminated + and no further connections are allowed while the volumes are in this state. + A marked volume is not returned in target discovery requests. + Any snapshots of a volume that has been marked for deletion are not affected. + Snapshots are kept until the volume is purged from the system. + If a volume is marked for deletion and has a bulk volume read or bulk volume write operation in progress, + the bulk volume read or write operation is stopped. + If the volumes you delete are paired with a volume, replication between the paired volumes is suspended + and no data is transferred to them or from them while in a deleted state. + The remote volumes the deleted volumes were paired with enter into a PausedMisconfigured state + and data is no longer sent to them or from the deleted volumes. + Until the deleted volumes are purged, they can be restored and data transfers resume. + If the deleted volumes are purged from the system, the volumes they were paired with enter into a + StoppedMisconfigured state and the volume pairing status is removed. + The purged volumes become permanently unavailable. + :param accountIDs: A list of account IDs. All volumes from these accounts are deleted from the system. + :type accountIDs: int + + :param volumeAccessGroupIDs: A list of volume access group IDs. All of the volumes from all of the volume access groups you specify in this list are deleted from the system. + :type volumeAccessGroupIDs: int + + :param volumeIDs: The list of IDs of the volumes to delete from the system. + :type volumeIDs: int + """ + + self._check_connection_type("delete_volumes", "Cluster") + + params = { + } + if account_ids is not None: + params["accountIDs"] = account_ids + if volume_access_group_ids is not None: + params["volumeAccessGroupIDs"] = volume_access_group_ids + if volume_ids is not None: + params["volumeIDs"] = volume_ids + + # There is no adaptor. + return self.send_request( + 'DeleteVolumes', + DeleteVolumesResult, + params, + since=9.0 + ) + + def get_default_qos( + self,): + """ + GetDefaultQoS enables you to retrieve the default QoS values for a newly created volume. """ + + self._check_connection_type("get_default_qos", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetDefaultQoS', + VolumeQOS, + params, + since=1.0 + ) + + def get_qos_policy( + self, + qos_policy_id,): + """ + You can use the GetQoSPolicy method to get details about a specific QoSPolicy from the system. + :param qosPolicyID: [required] The ID of the policy to be retrieved. + :type qosPolicyID: int + """ + + self._check_connection_type("get_qos_policy", "Cluster") + + params = { + "qosPolicyID": qos_policy_id, + } + + # There is no adaptor. + return self.send_request( + 'GetQoSPolicy', + GetQoSPolicyResult, + params, + since=10.0 + ) + + def get_volume_count( + self,): + """ + GetVolumeCount enables you to retrieve the number of volumes currently in the system. """ + + self._check_connection_type("get_volume_count", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'GetVolumeCount', + GetVolumeCountResult, + params, + since=9.0 + ) + + def get_volume_efficiency( + self, + volume_id,): + """ + GetVolumeEfficiency enables you to retrieve information about a volume. Only the volume you give as a parameter in this API method is used to compute the capacity. + :param volumeID: [required] Specifies the volume for which capacity is computed. + :type volumeID: int + """ + + self._check_connection_type("get_volume_efficiency", "Cluster") + + params = { + "volumeID": volume_id, + } + + # There is no adaptor. + return self.send_request( + 'GetVolumeEfficiency', + GetVolumeEfficiencyResult, + params, + since=6.0 + ) + + def get_volume_stats( + self, + volume_id,): + """ + GetVolumeStats enables you to retrieve high-level activity measurements for a single volume. Values are cumulative from the creation of the volume. + :param volumeID: [required] Specifies the volume for which statistics are gathered. + :type volumeID: int + """ + + self._check_connection_type("get_volume_stats", "Cluster") + + params = { + "volumeID": volume_id, + } + + # There is no adaptor. + return self.send_request( + 'GetVolumeStats', + GetVolumeStatsResult, + params, + since=1.0 + ) + + def list_active_volumes( + self, + start_volume_id=OPTIONAL, + limit=OPTIONAL, + include_virtual_volumes=OPTIONAL,): + """ + ListActiveVolumes enables you to return the list of active volumes currently in the system. The list of volumes is returned sorted in + VolumeID order and can be returned in multiple parts (pages). + :param startVolumeID: Starting VolumeID to return. If no volume exists with this VolumeID, the next volume by VolumeID order is used as the start of the list. To page through the list, pass the VolumeID of the last volume in the previous response + 1. + :type startVolumeID: int + + :param limit: Maximum number of Volume Info objects to return. A value of 0 (zero) returns all volumes (unlimited). + :type limit: int + + :param includeVirtualVolumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type includeVirtualVolumes: bool + """ + + self._check_connection_type("list_active_volumes", "Cluster") + + params = { + } + if start_volume_id is not None: + params["startVolumeID"] = start_volume_id + if limit is not None: + params["limit"] = limit + if include_virtual_volumes is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_active_volumes", 9.0, + [("include_virtual_volumes", include_virtual_volumes, 9.0, False)]) + else: + params["includeVirtualVolumes"] = include_virtual_volumes + + # There is no adaptor. + return self.send_request( + 'ListActiveVolumes', + ListActiveVolumesResult, + params, + since=1.0 + ) + + def list_bulk_volume_jobs( + self,): + """ + ListBulkVolumeJobs enables you to retrieve information about each bulk volume read or write operation that is occurring in the + system. """ + + self._check_connection_type("list_bulk_volume_jobs", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListBulkVolumeJobs', + ListBulkVolumeJobsResult, + params, + since=6.0 + ) + + def list_deleted_volumes( + self, + include_virtual_volumes=OPTIONAL,): + """ + ListDeletedVolumes enables you to retrieve the list of volumes that have been marked for deletion and purged from the system. + :param includeVirtualVolumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type includeVirtualVolumes: bool + """ + + self._check_connection_type("list_deleted_volumes", "Cluster") + + params = { + } + if include_virtual_volumes is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_deleted_volumes", 9.0, + [("include_virtual_volumes", include_virtual_volumes, 9.0, False)]) + else: + params["includeVirtualVolumes"] = include_virtual_volumes + + # There is no adaptor. + return self.send_request( + 'ListDeletedVolumes', + ListDeletedVolumesResult, + params, + since=1.0 + ) + + def list_qos_policies( + self,): + """ + You can use the ListQoSPolicies method to list all the settings of all QoS policies on the system. """ + + self._check_connection_type("list_qos_policies", "Cluster") + + params = { + } + + # There is no adaptor. + return self.send_request( + 'ListQoSPolicies', + ListQoSPoliciesResult, + params, + since=10.0 + ) + + def list_volume_stats( + self, + volume_ids=OPTIONAL,): + """ + ListVolumeStats returns high-level activity measurements for a single volume, list of volumes, or all volumes (if you omit the volumeIDs parameter). Measurement values are cumulative from the creation of the volume. + :param volumeIDs: A list of volume IDs of volumes from which to retrieve activity information. + :type volumeIDs: int + """ + + self._check_connection_type("list_volume_stats", "Cluster") + + params = { + } + if volume_ids is not None: + params["volumeIDs"] = volume_ids + + # There is no adaptor. + return self.send_request( + 'ListVolumeStats', + ListVolumeStatsResult, + params, + since=7.0 + ) + + def list_volume_stats_by_account( + self, + accounts=OPTIONAL, + include_virtual_volumes=OPTIONAL,): + """ + ListVolumeStatsByAccount returns high-level activity measurements for every account. Values are summed from all the volumes owned by the account. + :param accounts: One or more account ids by which to filter the result. + :type accounts: int + + :param includeVirtualVolumes: Includes virtual volumes in the response by default. To exclude virtual volumes, set to false. + :type includeVirtualVolumes: bool + """ + + self._check_connection_type("list_volume_stats_by_account", "Cluster") + + params = { + } + if accounts is not None: + params["accounts"] = accounts + if include_virtual_volumes is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_volume_stats_by_account", 9.0, + [("include_virtual_volumes", include_virtual_volumes, 9.0, False)]) + else: + params["includeVirtualVolumes"] = include_virtual_volumes + + # There is no adaptor. + return self.send_request( + 'ListVolumeStatsByAccount', + ListVolumeStatsByAccountResult, + params, + since=1.0 + ) + + def list_volume_stats_by_volume( + self, + include_virtual_volumes=OPTIONAL,): + """ + ListVolumeStatsByVolume returns high-level activity measurements for every volume, by volume. Values are cumulative from the + creation of the volume. + :param includeVirtualVolumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type includeVirtualVolumes: bool + """ + + self._check_connection_type("list_volume_stats_by_volume", "Cluster") + + params = { + } + if include_virtual_volumes is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_volume_stats_by_volume", 9.0, + [("include_virtual_volumes", include_virtual_volumes, 9.0, False)]) + else: + params["includeVirtualVolumes"] = include_virtual_volumes + + # There is no adaptor. + return self.send_request( + 'ListVolumeStatsByVolume', + ListVolumeStatsByVolumeResult, + params, + since=1.0 + ) + + def list_volume_stats_by_volume_access_group( + self, + volume_access_groups=OPTIONAL, + include_virtual_volumes=OPTIONAL,): + """ + ListVolumeStatsByVolumeAccessGroup enables you to get total activity measurements for all of the volumes that are a member of the + specified volume access group(s). + :param volumeAccessGroups: An array of VolumeAccessGroupIDs for which volume activity is returned. If omitted, statistics for all volume access groups are returned. + :type volumeAccessGroups: int + + :param includeVirtualVolumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type includeVirtualVolumes: bool + """ + + self._check_connection_type("list_volume_stats_by_volume_access_group", "Cluster") + + params = { + } + if volume_access_groups is not None: + params["volumeAccessGroups"] = volume_access_groups + if include_virtual_volumes is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_volume_stats_by_volume_access_group", 9.0, + [("include_virtual_volumes", include_virtual_volumes, 9.0, False)]) + else: + params["includeVirtualVolumes"] = include_virtual_volumes + + # There is no adaptor. + return self.send_request( + 'ListVolumeStatsByVolumeAccessGroup', + ListVolumeStatsByVolumeAccessGroupResult, + params, + since=5.0 + ) + + def list_volumes( + self, + start_volume_id=OPTIONAL, + limit=OPTIONAL, + volume_status=OPTIONAL, + accounts=OPTIONAL, + is_paired=OPTIONAL, + volume_ids=OPTIONAL, + volume_name=OPTIONAL, + include_virtual_volumes=OPTIONAL,): + """ + The ListVolumes method enables you to retrieve a list of volumes that are in a cluster. You can specify the volumes you want to + return in the list by using the available parameters. + :param startVolumeID: Only volumes with an ID greater than or equal to this value are returned. Mutually exclusive with the volumeIDs parameter. + :type startVolumeID: int + + :param limit: Specifies the maximum number of volume results that are returned. Mutually exclusive with the volumeIDs parameter. + :type limit: int + + :param volumeStatus: Only volumes with a status equal to the status value are returned. Possible values are: creating snapshotting active deleted + :type volumeStatus: str + + :param accounts: Returns only the volumes owned by the accounts you specify here. Mutually exclusive with the volumeIDs parameter. + :type accounts: int + + :param isPaired: Returns volumes that are paired or not paired. Possible values are: true: Returns all paired volumes. false: Returns all volumes that are not paired. + :type isPaired: bool + + :param volumeIDs: A list of volume IDs. If you supply this parameter, other parameters operate only on this set of volumes. Mutually exclusive with the accounts, startVolumeID, and limit parameters. + :type volumeIDs: int + + :param volumeName: Only volume object information matching the volume name is returned. + :type volumeName: str + + :param includeVirtualVolumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type includeVirtualVolumes: bool + """ + + self._check_connection_type("list_volumes", "Cluster") + + params = { + } + if start_volume_id is not None: + params["startVolumeID"] = start_volume_id + if limit is not None: + params["limit"] = limit + if volume_status is not None: + params["volumeStatus"] = volume_status + if accounts is not None: + params["accounts"] = accounts + if is_paired is not None: + params["isPaired"] = is_paired + if volume_ids is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_volumes", 9.0, + [("volume_ids", volume_ids, 9.0, False)]) + else: + params["volumeIDs"] = volume_ids + if volume_name is not None: + params["volumeName"] = volume_name + if include_virtual_volumes is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_volumes", 9.0, + [("include_virtual_volumes", include_virtual_volumes, 9.0, False)]) + else: + params["includeVirtualVolumes"] = include_virtual_volumes + + # There is no adaptor. + return self.send_request( + 'ListVolumes', + ListVolumesResult, + params, + since=8.0 + ) + + def list_volumes_for_account( + self, + account_id, + start_volume_id=OPTIONAL, + limit=OPTIONAL, + include_virtual_volumes=OPTIONAL,): + """ + ListVolumesForAccount returns the list of active and (pending) deleted volumes for an account. + :param accountID: [required] Returns all volumes owned by this AccountID. + :type accountID: int + + :param startVolumeID: The ID of the first volume to list. This can be useful for paging results. By default, this starts at the lowest VolumeID. + :type startVolumeID: int + + :param limit: The maximum number of volumes to return from the API. + :type limit: int + + :param includeVirtualVolumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type includeVirtualVolumes: bool + """ + + self._check_connection_type("list_volumes_for_account", "Cluster") + + params = { + "accountID": account_id, + } + if start_volume_id is not None: + params["startVolumeID"] = start_volume_id + if limit is not None: + params["limit"] = limit + if include_virtual_volumes is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("list_volumes_for_account", 9.0, + [("include_virtual_volumes", include_virtual_volumes, 9.0, True)]) + else: + params["includeVirtualVolumes"] = include_virtual_volumes + + # There is no adaptor. + return self.send_request( + 'ListVolumesForAccount', + ListVolumesForAccountResult, + params, + since=1.0 + ) + + def modify_qos_policy( + self, + qos_policy_id, + name=OPTIONAL, + qos=OPTIONAL,): + """ + You can use the ModifyQoSPolicy method to modify an existing QoSPolicy on the system. + :param qosPolicyID: [required] The ID of the policy to be modified. + :type qosPolicyID: int + + :param name: If supplied, the name of the QoS Policy (e.g. gold, platinum, silver) is changed to this value. + :type name: str + + :param qos: If supplied, the QoS settings for this policy are changed to these sttings. You can supply partial QoS values and only change some of the QoS settings. + :type qos: QoS + """ + + self._check_connection_type("modify_qos_policy", "Cluster") + + params = { + "qosPolicyID": qos_policy_id, + } + if name is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_qos_policy", 10.0, + [("name", name, 10.0, False)]) + else: + params["name"] = name + if qos is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_qos_policy", 10.0, + [("qos", qos, 10.0, False)]) + else: + params["qos"] = qos + + # There is no adaptor. + return self.send_request( + 'ModifyQoSPolicy', + ModifyQoSPolicyResult, + params, + since=10.0 + ) + + def modify_volume( + self, + volume_id, + account_id=OPTIONAL, + access=OPTIONAL, + qos=OPTIONAL, + total_size=OPTIONAL, + attributes=OPTIONAL, + associate_with_qos_policy=OPTIONAL, + qos_policy_id=OPTIONAL,): + """ + ModifyVolume enables you to modify settings on an existing volume. You can make modifications to one volume at a time and + changes take place immediately. If you do not specify QoS values when you modify a volume, they remain the same as before the modification. You can retrieve + default QoS values for a newly created volume by running the GetDefaultQoS method. + When you need to increase the size of a volume that is being replicated, do so in the following order to prevent replication errors: + 1. Increase the size of the "Replication Target" volume. + 2. Increase the size of the source or "Read / Write" volume. + NetApp recommends that both the target and source volumes are the same size. + Note: If you change the "access" status to locked or target, all existing iSCSI connections are terminated. + :param volumeID: [required] VolumeID for the volume to be modified. + :type volumeID: int + + :param accountID: AccountID to which the volume is reassigned. If unspecified, the previous account name is used. + :type accountID: int + + :param access: Specifies the access allowed for the volume. Possible values are: readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. If not specified, the access value does not change. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If a value is not specified, the access value does not change. + :type access: str + + :param qos: New QoS settings for this volume. If not specified, the QoS settings are not changed. + :type qos: QoS + + :param totalSize: New size of the volume in bytes. 1000000000 is equal to 1GB. Size is rounded up to the nearest 1MB. This parameter can only be used to increase the size of a volume. + :type totalSize: int + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param associateWithQoSPolicy: Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. + :type associateWithQoSPolicy: bool + + :param qosPolicyID: The ID for the policy whose QoS settings should be applied to the specified volumes. The volume will not maintain any association with the policy; this is an alternate way to apply QoS settings to the volume. This parameter and the qos parameter cannot be specified at the same time. + :type qosPolicyID: int + """ + + self._check_connection_type("modify_volume", "Cluster") + + params = { + "volumeID": volume_id, + } + if account_id is not None: + params["accountID"] = account_id + if access is not None: + params["access"] = access + if qos is not None: + params["qos"] = qos + if total_size is not None: + params["totalSize"] = total_size + if attributes is not None: + params["attributes"] = attributes + if associate_with_qos_policy is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_volume", 10.0, + [("associate_with_qos_policy", associate_with_qos_policy, 10.0, False)]) + else: + params["associateWithQoSPolicy"] = associate_with_qos_policy + if qos_policy_id is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_volume", 10.0, + [("qos_policy_id", qos_policy_id, 10.0, False)]) + else: + params["qosPolicyID"] = qos_policy_id + + # There is no adaptor. + return self.send_request( + 'ModifyVolume', + ModifyVolumeResult, + params, + since=1.0 + ) + + def modify_volumes( + self, + volume_ids, + account_id=OPTIONAL, + access=OPTIONAL, + qos=OPTIONAL, + total_size=OPTIONAL, + associate_with_qos_policy=OPTIONAL, + qos_policy_id=OPTIONAL, + attributes=OPTIONAL,): + """ + ModifyVolumes allows you to configure up to 500 existing volumes at one time. Changes take place immediately. + If ModifyVolumes fails to modify any of the specified volumes, none of the specified volumes are changed. + If you do not specify QoS values when you modify volumes, the QoS values for each volume remain unchanged. + You can retrieve default QoS values for a newly created volume by running the GetDefaultQoS method. + When you need to increase the size of volumes that are being replicated, do so in the following order + to prevent replication errors: + Increase the size of the "Replication Target" volume. + Increase the size of the source or "Read / Write" volume. + Recommend that both the target and source volumes be the same size. + NOTE: If you change access status to locked or replicationTarget all existing iSCSI connections are terminated. + :param volumeIDs: [required] A list of volumeIDs for the volumes to be modified. + :type volumeIDs: int + + :param accountID: AccountID to which the volume is reassigned. If none is specified, the previous account name is used. + :type accountID: int + + :param access: Access allowed for the volume. Possible values:readOnly: Only read operations are allowed.readWrite: Reads and writes are allowed.locked: No reads or writes are allowed.If not specified, the access value does not change.replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked.If a value is not specified, the access value does not change. + :type access: str + + :param qos: New quality of service settings for this volume.If not specified, the QoS settings are not changed. + :type qos: QoS + + :param totalSize: New size of the volume in bytes. 1000000000 is equal to 1GB. Size is rounded up to the nearest 1MB in size. This parameter can only be used to increase the size of a volume. + :type totalSize: int + + :param associateWithQoSPolicy: Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. + :type associateWithQoSPolicy: bool + + :param qosPolicyID: The ID for the policy whose QoS settings should be applied to the specified volumes. This parameter is mutually exclusive with the qos parameter. + :type qosPolicyID: int + + :param attributes: List of name/value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("modify_volumes", "Cluster") + + params = { + "volumeIDs": volume_ids, + } + if account_id is not None: + params["accountID"] = account_id + if access is not None: + params["access"] = access + if qos is not None: + params["qos"] = qos + if total_size is not None: + params["totalSize"] = total_size + if associate_with_qos_policy is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_volumes", 10.0, + [("associate_with_qos_policy", associate_with_qos_policy, 10.0, False)]) + else: + params["associateWithQoSPolicy"] = associate_with_qos_policy + if qos_policy_id is not None: + if self.api_version < 10.0: + raise ApiParameterVersionError("modify_volumes", 10.0, + [("qos_policy_id", qos_policy_id, 10.0, False)]) + else: + params["qosPolicyID"] = qos_policy_id + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'ModifyVolumes', + ModifyVolumesResult, + params, + since=9.0 + ) + + def purge_deleted_volume( + self, + volume_id,): + """ + PurgeDeletedVolume immediately and permanently purges a volume that has been deleted. You must delete a volume using + DeleteVolume before it can be purged. Volumes are purged automatically after a period of time, so usage of this method is not + typically required. + :param volumeID: [required] The ID of the volume to be purged. + :type volumeID: int + """ + + self._check_connection_type("purge_deleted_volume", "Cluster") + + params = { + "volumeID": volume_id, + } + + # There is no adaptor. + return self.send_request( + 'PurgeDeletedVolume', + PurgeDeletedVolumeResult, + params, + since=1.0 + ) + + def purge_deleted_volumes( + self, + volume_ids=OPTIONAL, + account_ids=OPTIONAL, + volume_access_group_ids=OPTIONAL,): + """ + PurgeDeletedVolumes immediately and permanently purges volumes that have been deleted. + You can use this method to purge up to 500 volumes at one time. + You must delete volumes using DeleteVolumes before they can be purged. + Volumes are purged by the system automatically after a period of time, so usage of this method is not typically required. + :param volumeIDs: A list of volumeIDs of volumes to be purged from the system. + :type volumeIDs: int + + :param accountIDs: A list of accountIDs. All of the volumes from all of the specified accounts are purged from the system. + :type accountIDs: int + + :param volumeAccessGroupIDs: A list of volumeAccessGroupIDs. All of the volumes from all of the specified Volume Access Groups are purged from the system. + :type volumeAccessGroupIDs: int + """ + + self._check_connection_type("purge_deleted_volumes", "Cluster") + + params = { + } + if volume_ids is not None: + params["volumeIDs"] = volume_ids + if account_ids is not None: + params["accountIDs"] = account_ids + if volume_access_group_ids is not None: + params["volumeAccessGroupIDs"] = volume_access_group_ids + + # There is no adaptor. + return self.send_request( + 'PurgeDeletedVolumes', + PurgeDeletedVolumesResult, + params, + since=9.0 + ) + + def remove_volumes_from_volume_access_group( + self, + volume_access_group_id, + volumes,): + """ + The RemoveVolumeFromVolumeAccessGroup method enables you to remove volumes from a volume access group. + :param volumeAccessGroupID: [required] The ID of the volume access group to remove volumes from. + :type volumeAccessGroupID: int + + :param volumes: [required] The ID of the volume access group to remove volumes from. + :type volumes: int + """ + + self._check_connection_type("remove_volumes_from_volume_access_group", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + "volumes": volumes, + } + + # There is no adaptor. + return self.send_request( + 'RemoveVolumesFromVolumeAccessGroup', + ModifyVolumeAccessGroupResult, + params, + since=5.0 + ) + + def restore_deleted_volume( + self, + volume_id,): + """ + RestoreDeletedVolume marks a deleted volume as active again. This action makes the volume immediately available for iSCSI connection. + :param volumeID: [required] VolumeID of the deleted volume to be restored. + :type volumeID: int + """ + + self._check_connection_type("restore_deleted_volume", "Cluster") + + params = { + "volumeID": volume_id, + } + + # There is no adaptor. + return self.send_request( + 'RestoreDeletedVolume', + RestoreDeletedVolumeResult, + params, + since=1.0 + ) + + def set_default_qos( + self, + min_iops=OPTIONAL, + max_iops=OPTIONAL, + burst_iops=OPTIONAL,): + """ + SetDefaultQoS enables you to configure the default Quality of Service (QoS) values (measured in inputs and outputs per second, or + IOPS) for a volume. For more information about QoS in a SolidFire cluster, see the User Guide. + :param minIOPS: The minimum number of sustained IOPS provided by the cluster to a volume. + :type minIOPS: int + + :param maxIOPS: The maximum number of sustained IOPS provided by the cluster to a volume. + :type maxIOPS: int + + :param burstIOPS: The maximum number of IOPS allowed in a short burst scenario. + :type burstIOPS: int + """ + + self._check_connection_type("set_default_qos", "Cluster") + + params = { + } + if min_iops is not None: + params["minIOPS"] = min_iops + if max_iops is not None: + params["maxIOPS"] = max_iops + if burst_iops is not None: + params["burstIOPS"] = burst_iops + + # There is no adaptor. + return self.send_request( + 'SetDefaultQoS', + SetDefaultQoSResult, + params, + since=9.0 + ) + + def start_bulk_volume_read( + self, + volume_id, + format, + snapshot_id=OPTIONAL, + script=OPTIONAL, + script_parameters=OPTIONAL, + attributes=OPTIONAL,): + """ + StartBulkVolumeRead enables you to initialize a bulk volume read session on a specified volume. Only two bulk volume processes + can run simultaneously on a volume. When you initialize the session, data is read from a SolidFire storage volume for the purposes + of storing the data on an external backup source. The external data is accessed by a web server running on an SF-series node. + Communications and server interaction information for external data access is passed by a script running on the storage system. + At the start of a bulk volume read operation, a snapshot of the volume is made and the snapshot is deleted when the read is complete. You can also read a snapshot of the volume by entering the ID of the snapshot as a parameter. When you read a + previous snapshot, the system does not create a new snapshot of the volume or delete the previous snapshot when the + read completes. + Note: This process creates a new snapshot if the ID of an existing snapshot is not provided. Snapshots can be created if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + :param volumeID: [required] The ID of the volume to be read. + :type volumeID: int + + :param format: [required] The format of the volume data. It can be either of the following formats: uncompressed: Every byte of the volume is returned without any compression. native: Opaque data is returned that is smaller and more efficiently stored and written on a subsequent bulk volume write. + :type format: str + + :param snapshotID: The ID of a previously created snapshot used for bulk volume reads. If no ID is entered, a snapshot of the current active volume image is made. + :type snapshotID: int + + :param script: The executable name of a script. If unspecified, the key and URL is necessary to access SF-series nodes. The script is run on the primary node and the key and URL is returned to the script so the local web server can be contacted. + :type script: str + + :param scriptParameters: JSON parameters to pass to the script. + :type scriptParameters: dict + + :param attributes: JSON attributes for the bulk volume job. + :type attributes: dict + """ + + self._check_connection_type("start_bulk_volume_read", "Cluster") + + params = { + "volumeID": volume_id, + "format": format, + } + if snapshot_id is not None: + params["snapshotID"] = snapshot_id + if script is not None: + params["script"] = script + if script_parameters is not None: + params["scriptParameters"] = script_parameters + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'StartBulkVolumeRead', + StartBulkVolumeReadResult, + params, + since=6.0 + ) + + def start_bulk_volume_write( + self, + volume_id, + format, + script=OPTIONAL, + script_parameters=OPTIONAL, + attributes=OPTIONAL,): + """ + StartBulkVolumeWrite enables you to initialize a bulk volume write session on a specified volume. Only two bulk volume processes can run simultaneously on a volume. When you initialize the write session, data is written to a SolidFire storage volume from an external backup source. The external data is accessed by a web server running on an SF-series node. Communications and server + interaction information for external data access is passed by a script running on the storage system. + :param volumeID: [required] The ID of the volume to be written to. + :type volumeID: int + + :param format: [required] The format of the volume data. It can be either of the following formats: uncompressed: Every byte of the volume is returned without any compression. native: Opaque data is returned that is smaller and more efficiently stored and written on a subsequent bulk volume write. + :type format: str + + :param script: The executable name of a script. If unspecified, the key and URL are necessary to access SF-series nodes. The script runs on the primary node and the key and URL is returned to the script, so the local web server can be contacted. + :type script: str + + :param scriptParameters: JSON parameters to pass to the script. + :type scriptParameters: dict + + :param attributes: JSON attributes for the bulk volume job. + :type attributes: dict + """ + + self._check_connection_type("start_bulk_volume_write", "Cluster") + + params = { + "volumeID": volume_id, + "format": format, + } + if script is not None: + params["script"] = script + if script_parameters is not None: + params["scriptParameters"] = script_parameters + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'StartBulkVolumeWrite', + StartBulkVolumeWriteResult, + params, + since=6.0 + ) + + def update_bulk_volume_status( + self, + key, + status, + percent_complete=OPTIONAL, + message=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use UpdateBulkVolumeStatus in a script to update the status of a bulk volume job that you started with the + StartBulkVolumeRead or StartBulkVolumeWrite methods. + :param key: [required] The key assigned during initialization of a StartBulkVolumeRead or StartBulkVolumeWrite session. + :type key: str + + :param status: [required] The status of the given bulk volume job. The system sets the status. Possible values are: running: Jobs that are still active. complete: Jobs that are done. failed: Jobs that failed. + :type status: str + + :param percentComplete: The completed progress of the bulk volume job as a percentage value. + :type percentComplete: str + + :param message: The message returned indicating the status of the bulk volume job after the job is complete. + :type message: str + + :param attributes: JSON attributes; updates what is on the bulk volume job. + :type attributes: dict + """ + + self._check_connection_type("update_bulk_volume_status", "Cluster") + + params = { + "key": key, + "status": status, + } + if percent_complete is not None: + params["percentComplete"] = percent_complete + if message is not None: + params["message"] = message + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'UpdateBulkVolumeStatus', + UpdateBulkVolumeStatusResult, + params, + since=6.0 + ) + + def create_volume_access_group( + self, + name, + initiators=OPTIONAL, + volumes=OPTIONAL, + virtual_network_id=OPTIONAL, + virtual_network_tags=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use CreateVolumeAccessGroup to create a new volume access group. When you create the volume access group, you need to give it a name, and you can optionally enter initiators and volumes. After you create the group, you can add volumes and initiator IQNs. Any initiator IQN that you add to the volume access group is able to access any volume in the group without CHAP authentication. + :param name: [required] The name for this volume access group. Not required to be unique, but recommended. + :type name: str + + :param initiators: List of initiators to include in the volume access group. If unspecified, the access group's configured initiators are not modified. + :type initiators: str + + :param volumes: List of volumes to initially include in the volume access group. If unspecified, the access group's volumes are not modified. + :type volumes: int + + :param virtualNetworkID: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtualNetworkID: int + + :param virtualNetworkTags: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtualNetworkTags: int + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("create_volume_access_group", "Cluster") + + params = { + "name": name, + } + if initiators is not None: + params["initiators"] = initiators + if volumes is not None: + params["volumes"] = volumes + if virtual_network_id is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("create_volume_access_group", 8.0, + [("virtual_network_id", virtual_network_id, 8.0, False)]) + else: + params["virtualNetworkID"] = virtual_network_id + if virtual_network_tags is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("create_volume_access_group", 8.0, + [("virtual_network_tags", virtual_network_tags, 8.0, False)]) + else: + params["virtualNetworkTags"] = virtual_network_tags + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'CreateVolumeAccessGroup', + CreateVolumeAccessGroupResult, + params, + since=5.0 + ) + + def delete_volume_access_group( + self, + volume_access_group_id, + delete_orphan_initiators=OPTIONAL, + force=OPTIONAL,): + """ + DeleteVolumeAccessGroup enables you to delete a + volume access group. + :param volumeAccessGroupID: [required] The ID of the volume access group to be deleted. + :type volumeAccessGroupID: int + + :param deleteOrphanInitiators: true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. + :type deleteOrphanInitiators: bool + + :param force: Adding this flag will force the volume access group to be deleted even though it has a Virtual Network ID or Tag. true: Volume access group will be deleted. false: Default. Do not delete the volume access group if it has a Virtual Network ID or Tag. + :type force: bool + """ + + self._check_connection_type("delete_volume_access_group", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + } + if delete_orphan_initiators is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("delete_volume_access_group", 9.0, + [("delete_orphan_initiators", delete_orphan_initiators, 9.0, False)]) + else: + params["deleteOrphanInitiators"] = delete_orphan_initiators + if force is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("delete_volume_access_group", 9.0, + [("force", force, 9.0, False)]) + else: + params["force"] = force + + # There is no adaptor. + return self.send_request( + 'DeleteVolumeAccessGroup', + DeleteVolumeAccessGroupResult, + params, + since=5.0 + ) + + def get_volume_access_group_efficiency( + self, + volume_access_group_id,): + """ + GetVolumeAccessGroupEfficiency enables you to + retrieve efficiency information about a volume access + group. Only the volume access group you provide as the + parameter in this API method is used to compute the + capacity. + :param volumeAccessGroupID: [required] The volume access group for which capacity is computed. + :type volumeAccessGroupID: int + """ + + self._check_connection_type("get_volume_access_group_efficiency", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + } + + # There is no adaptor. + return self.send_request( + 'GetVolumeAccessGroupEfficiency', + GetEfficiencyResult, + params, + since=6.0 + ) + + def get_volume_access_group_lun_assignments( + self, + volume_access_group_id,): + """ + The GetVolumeAccessGroupLunAssignments + method enables you to retrieve details on LUN mappings + of a specified volume access group. + :param volumeAccessGroupID: [required] The unique volume access group ID used to return information. + :type volumeAccessGroupID: int + """ + + self._check_connection_type("get_volume_access_group_lun_assignments", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + } + + # There is no adaptor. + return self.send_request( + 'GetVolumeAccessGroupLunAssignments', + GetVolumeAccessGroupLunAssignmentsResult, + params, + since=7.0 + ) + + def list_volume_access_groups( + self, + start_volume_access_group_id=OPTIONAL, + limit=OPTIONAL, + volume_access_groups=OPTIONAL,): + """ + ListVolumeAccessGroups enables you to return + information about the volume access groups that are + currently in the system. + :param startVolumeAccessGroupID: The volume access group ID at which to begin the listing. If unspecified, there is no lower limit (implicitly 0). + :type startVolumeAccessGroupID: int + + :param limit: The maximum number of results to return. This can be useful for paging. + :type limit: int + + :param volumeAccessGroups: The list of ids of the volume access groups you wish to list + :type volumeAccessGroups: int + """ + + self._check_connection_type("list_volume_access_groups", "Cluster") + + params = { + } + if start_volume_access_group_id is not None: + params["startVolumeAccessGroupID"] = start_volume_access_group_id + if limit is not None: + params["limit"] = limit + if volume_access_groups is not None: + params["volumeAccessGroups"] = volume_access_groups + + # There is no adaptor. + return self.send_request( + 'ListVolumeAccessGroups', + ListVolumeAccessGroupsResult, + params, + since=5.0 + ) + + def modify_volume_access_group( + self, + volume_access_group_id, + virtual_network_id=OPTIONAL, + virtual_network_tags=OPTIONAL, + name=OPTIONAL, + initiators=OPTIONAL, + volumes=OPTIONAL, + delete_orphan_initiators=OPTIONAL, + attributes=OPTIONAL,): + """ + You can use ModifyVolumeAccessGroup to update initiators and add or remove volumes from a volume access group. If a specified initiator or volume is a duplicate of what currently exists, the volume access group is left as-is. If you do not specify a value for volumes or initiators, the current list of initiators and volumes is not changed. + :param volumeAccessGroupID: [required] The ID of the volume access group to modify. + :type volumeAccessGroupID: int + + :param virtualNetworkID: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtualNetworkID: int + + :param virtualNetworkTags: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtualNetworkTags: int + + :param name: The new name for this volume access group. Not required to be unique, but recommended. + :type name: str + + :param initiators: List of initiators to include in the volume access group. If unspecified, the access group's configured initiators are not modified. + :type initiators: str + + :param volumes: List of volumes to initially include in the volume access group. If unspecified, the access group's volumes are not modified. + :type volumes: int + + :param deleteOrphanInitiators: true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. + :type deleteOrphanInitiators: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + """ + + self._check_connection_type("modify_volume_access_group", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + } + if virtual_network_id is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("modify_volume_access_group", 8.0, + [("virtual_network_id", virtual_network_id, 8.0, False)]) + else: + params["virtualNetworkID"] = virtual_network_id + if virtual_network_tags is not None: + if self.api_version < 8.0: + raise ApiParameterVersionError("modify_volume_access_group", 8.0, + [("virtual_network_tags", virtual_network_tags, 8.0, False)]) + else: + params["virtualNetworkTags"] = virtual_network_tags + if name is not None: + params["name"] = name + if initiators is not None: + params["initiators"] = initiators + if volumes is not None: + params["volumes"] = volumes + if delete_orphan_initiators is not None: + if self.api_version < 9.0: + raise ApiParameterVersionError("modify_volume_access_group", 9.0, + [("delete_orphan_initiators", delete_orphan_initiators, 9.0, False)]) + else: + params["deleteOrphanInitiators"] = delete_orphan_initiators + if attributes is not None: + params["attributes"] = attributes + + # There is no adaptor. + return self.send_request( + 'ModifyVolumeAccessGroup', + ModifyVolumeAccessGroupResult, + params, + since=5.0 + ) + + def modify_volume_access_group_lun_assignments( + self, + volume_access_group_id, + lun_assignments,): + """ + The ModifyVolumeAccessGroupLunAssignments + method enables you to define custom LUN assignments + for specific volumes. This method changes only LUN + values set on the lunAssignments parameter in the + volume access group. All other LUN assignments remain + unchanged. LUN assignment values must be unique for volumes in a volume access group. You cannot define duplicate LUN values within a volume access group. However, you can use the same LUN values again in different volume access groups. + Note: Correct LUN values are 0 through 16383. The system generates an exception if you pass a LUN value outside of this range. None of the specified LUN assignments are modified if there is an exception. + Caution: If you change a LUN assignment for a volume with active I/O, the I/O can be disrupted. You might need to change the server configuration before changing volume LUN assignments. + :param volumeAccessGroupID: [required] The ID of the volume access group for which the LUN assignments will be modified. + :type volumeAccessGroupID: int + + :param lunAssignments: [required] The volume IDs with new assigned LUN values. + :type lunAssignments: LunAssignment + """ + + self._check_connection_type("modify_volume_access_group_lun_assignments", "Cluster") + + params = { + "volumeAccessGroupID": volume_access_group_id, + "lunAssignments": lun_assignments, + } + + # There is no adaptor. + return self.send_request( + 'ModifyVolumeAccessGroupLunAssignments', + ModifyVolumeAccessGroupLunAssignmentsResult, + params, + since=7.0 + ) + diff --git a/solidfire/models.py b/solidfire/models.py new file mode 100644 index 00000000..c181ed1d --- /dev/null +++ b/solidfire/models.py @@ -0,0 +1,20958 @@ +#!/usr/bin/python +# +# Copyright © 2014-2016 NetApp, Inc. All Rights Reserved. +# +# DO NOT EDIT THIS CODE BY HAND! It has been generated with jsvcgen. + +from __future__ import unicode_literals +from __future__ import absolute_import +from solidfire.common import model as data_model +from uuid import UUID +from solidfire.custom.models import CHAPSecret as UserDefinedCHAPSecret +from solidfire.custom.models import Frequency as UserDefinedFrequency + +class Frequency(UserDefinedFrequency): + def __init__(self, **kwargs): + self = UserDefinedFrequency() + data_model.DataObject.__init__(self, **kwargs) + +class CHAPSecret(UserDefinedCHAPSecret): + def __init__(self, **kwargs): + self = UserDefinedCHAPSecret() + data_model.DataObject.__init__(self, **kwargs) + +class RemoveClusterAdminRequest(data_model.DataObject): + """RemoveClusterAdminRequest + You can use RemoveClusterAdmin to remove a Cluster Admin. You cannot remove the administrator cluster admin account. + + :param cluster_admin_id: [required] ClusterAdminID for the cluster admin to remove. + :type cluster_admin_id: int + + """ + cluster_admin_id = data_model.property( + "clusterAdminID", int, + array=False, optional=False, + documentation="""ClusterAdminID for the cluster admin to remove. """, + dictionaryType=None + ) + + def __init__(self, + cluster_admin_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestDrivesResult(data_model.DataObject): + """TestDrivesResult + + :param details: [required] + :type details: str + + :param duration: [required] + :type duration: str + + :param result: [required] + :type result: str + + """ + details = data_model.property( + "details", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + details, + duration, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VirtualVolumeHost(data_model.DataObject): + """VirtualVolumeHost + + :param virtual_volume_host_id: [required] + :type virtual_volume_host_id: UUID + + :param cluster_id: [required] + :type cluster_id: UUID + + :param visible_protocol_endpoint_ids: [required] + :type visible_protocol_endpoint_ids: UUID + + :param bindings: [required] + :type bindings: int + + :param initiator_names: [required] + :type initiator_names: str + + :param host_address: [required] + :type host_address: str + + """ + virtual_volume_host_id = data_model.property( + "virtualVolumeHostID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cluster_id = data_model.property( + "clusterID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + visible_protocol_endpoint_ids = data_model.property( + "visibleProtocolEndpointIDs", UUID, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + bindings = data_model.property( + "bindings", int, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_names = data_model.property( + "initiatorNames", str, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + host_address = data_model.property( + "hostAddress", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + virtual_volume_host_id, + cluster_id, + visible_protocol_endpoint_ids, + bindings, + initiator_names, + host_address): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumeHostsResult(data_model.DataObject): + """ListVirtualVolumeHostsResult + + :param hosts: [required] List of known ESX hosts. + :type hosts: VirtualVolumeHost + + """ + hosts = data_model.property( + "hosts", VirtualVolumeHost, + array=True, optional=False, + documentation="""List of known ESX hosts. """, + dictionaryType=None + ) + + def __init__(self, + hosts): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNodeSSLCertificateResult(data_model.DataObject): + """GetNodeSSLCertificateResult + + :param certificate: [required] The full PEM-encoded test of the certificate. + :type certificate: str + + :param details: [required] The decoded information of the certificate. + :type details: dict + + """ + certificate = data_model.property( + "certificate", str, + array=False, optional=False, + documentation="""The full PEM-encoded test of the certificate. """, + dictionaryType=None + ) + details = data_model.property( + "details", dict, + array=False, optional=False, + documentation="""The decoded information of the certificate. """, + dictionaryType=None + ) + + def __init__(self, + certificate, + details): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddVolumesToVolumeAccessGroupRequest(data_model.DataObject): + """AddVolumesToVolumeAccessGroupRequest + AddVolumesToVolumeAccessGroup enables you to add + volumes to a specified volume access group. + + :param volume_access_group_id: [required] The ID of the volume access group to which volumes are added. + :type volume_access_group_id: int + + :param volumes: [required] The list of volumes to add to the volume access group. + :type volumes: int + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID of the volume access group to which volumes are added. """, + dictionaryType=None + ) + volumes = data_model.property( + "volumes", int, + array=True, optional=False, + documentation="""The list of volumes to add to the volume access group. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateGroupSnapshotRequest(data_model.DataObject): + """CreateGroupSnapshotRequest + CreateGroupSnapshot enables you to create a point-in-time copy of a group of volumes. You can use this snapshot later as a backup or rollback to ensure the data on the group of volumes is consistent for the point in time that you created the snapshot. + Note: Creating a group snapshot is allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + + :param volumes: [required] Unique ID of the volume image from which to copy. + :type volumes: int + + :param name: Name for the group snapshot. If unspecified, the date and time the group snapshot was taken is used. + :type name: str + + :param enable_remote_replication: Replicates the snapshot created to remote storage. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enable_remote_replication: bool + + :param retention: Specifies the amount of time for which the snapshots are retained. The format is HH:mm:ss. + :type retention: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param snap_mirror_label: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snap_mirror_label: str + + """ + volumes = data_model.property( + "volumes", int, + array=True, optional=False, + documentation="""Unique ID of the volume image from which to copy. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""Name for the group snapshot. If unspecified, the date and time the group snapshot was taken is used. """, + dictionaryType=None + ) + enable_remote_replication = data_model.property( + "enableRemoteReplication", bool, + array=False, optional=True, + documentation="""Replicates the snapshot created to remote storage. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. """, + dictionaryType=None + ) + retention = data_model.property( + "retention", str, + array=False, optional=True, + documentation="""Specifies the amount of time for which the snapshots are retained. The format is HH:mm:ss. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + snap_mirror_label = data_model.property( + "snapMirrorLabel", str, + array=False, optional=True, + documentation="""Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. """, + dictionaryType=None + ) + + def __init__(self, + volumes, + name=None, + enable_remote_replication=None, + retention=None, + attributes=None, + snap_mirror_label=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetSSLCertificateResult(data_model.DataObject): + """GetSSLCertificateResult + + :param certificate: [required] The full PEM-encoded test of the certificate. + :type certificate: str + + :param details: [required] The decoded information of the certificate. + :type details: dict + + """ + certificate = data_model.property( + "certificate", str, + array=False, optional=False, + documentation="""The full PEM-encoded test of the certificate. """, + dictionaryType=None + ) + details = data_model.property( + "details", dict, + array=False, optional=False, + documentation="""The decoded information of the certificate. """, + dictionaryType=None + ) + + def __init__(self, + certificate, + details): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterConfig(data_model.DataObject): + """ClusterConfig + Cluster Config object returns information the node uses to communicate with the cluster. + + :param cipi: Network interface used for cluster communication. + :type cipi: str + + :param cluster: Unique cluster name. + :type cluster: str + + :param ensemble: Nodes that are participating in the cluster. + :type ensemble: str + + :param mipi: Network interface used for node management. + :type mipi: str + + :param name: Unique cluster name. + :type name: str + + :param node_id: + :type node_id: int + + :param pending_node_id: + :type pending_node_id: int + + :param role: Identifies the role of the node + :type role: str + + :param sipi: Network interface used for storage. + :type sipi: str + + :param state: + :type state: str + + :param encryption_capable: + :type encryption_capable: bool + + :param has_local_admin: + :type has_local_admin: bool + + :param version: + :type version: str + + """ + cipi = data_model.property( + "cipi", str, + array=False, optional=True, + documentation="""Network interface used for cluster communication. """, + dictionaryType=None + ) + cluster = data_model.property( + "cluster", str, + array=False, optional=True, + documentation="""Unique cluster name. """, + dictionaryType=None + ) + ensemble = data_model.property( + "ensemble", str, + array=True, optional=True, + documentation="""Nodes that are participating in the cluster. """, + dictionaryType=None + ) + mipi = data_model.property( + "mipi", str, + array=False, optional=True, + documentation="""Network interface used for node management. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""Unique cluster name. """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + pending_node_id = data_model.property( + "pendingNodeID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + role = data_model.property( + "role", str, + array=False, optional=True, + documentation="""Identifies the role of the node """, + dictionaryType=None + ) + sipi = data_model.property( + "sipi", str, + array=False, optional=True, + documentation="""Network interface used for storage. """, + dictionaryType=None + ) + state = data_model.property( + "state", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + encryption_capable = data_model.property( + "encryptionCapable", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + has_local_admin = data_model.property( + "hasLocalAdmin", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + version = data_model.property( + "version", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cipi=None, + cluster=None, + ensemble=None, + mipi=None, + name=None, + node_id=None, + pending_node_id=None, + role=None, + sipi=None, + state=None, + encryption_capable=None, + has_local_admin=None, + version=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PhysicalAdapter(data_model.DataObject): + """PhysicalAdapter + + :param address: + :type address: str + + :param mac_address: + :type mac_address: str + + :param mac_address_permanent: + :type mac_address_permanent: str + + :param mtu: + :type mtu: str + + :param netmask: + :type netmask: str + + :param network: + :type network: str + + :param up_and_running: + :type up_and_running: bool + + """ + address = data_model.property( + "address", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mac_address = data_model.property( + "macAddress", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mac_address_permanent = data_model.property( + "macAddressPermanent", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mtu = data_model.property( + "mtu", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + netmask = data_model.property( + "netmask", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + network = data_model.property( + "network", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + up_and_running = data_model.property( + "upAndRunning", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + address=None, + mac_address=None, + mac_address_permanent=None, + mtu=None, + netmask=None, + network=None, + up_and_running=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NetworkConfig(data_model.DataObject): + """NetworkConfig + + :param _default: + :type _default: bool + + :param bond_master: + :type bond_master: str + + :param virtual_network_tag: + :type virtual_network_tag: str + + :param address: + :type address: str + + :param auto: + :type auto: bool + + :param bond_downdelay: + :type bond_downdelay: str + + :param bond_fail_over_mac: + :type bond_fail_over_mac: str + + :param bond_primary_reselect: + :type bond_primary_reselect: str + + :param bond_lacp_rate: + :type bond_lacp_rate: str + + :param bond_miimon: + :type bond_miimon: str + + :param bond_mode: + :type bond_mode: str + + :param bond_slaves: + :type bond_slaves: str + + :param bond_updelay: + :type bond_updelay: str + + :param dns_nameservers: + :type dns_nameservers: str + + :param dns_search: + :type dns_search: str + + :param family: + :type family: str + + :param gateway: + :type gateway: str + + :param mac_address: + :type mac_address: str + + :param mac_address_permanent: + :type mac_address_permanent: str + + :param method: + :type method: str + + :param mtu: + :type mtu: str + + :param netmask: + :type netmask: str + + :param network: + :type network: str + + :param physical: + :type physical: PhysicalAdapter + + :param routes: + :type routes: dict + + :param status: + :type status: str + + :param symmetric_route_rules: + :type symmetric_route_rules: str + + :param up_and_running: + :type up_and_running: bool + + :param bond_xmit_hash_policy: + :type bond_xmit_hash_policy: str + + :param bond_ad_num_ports: + :type bond_ad_num_ports: str + + """ + _default = data_model.property( + "#default", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_master = data_model.property( + "bond-master", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + virtual_network_tag = data_model.property( + "virtualNetworkTag", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + address = data_model.property( + "address", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + auto = data_model.property( + "auto", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_downdelay = data_model.property( + "bond-downdelay", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_fail_over_mac = data_model.property( + "bond-fail_over_mac", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_primary_reselect = data_model.property( + "bond-primary_reselect", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_lacp_rate = data_model.property( + "bond-lacp_rate", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_miimon = data_model.property( + "bond-miimon", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_mode = data_model.property( + "bond-mode", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_slaves = data_model.property( + "bond-slaves", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_updelay = data_model.property( + "bond-updelay", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + dns_nameservers = data_model.property( + "dns-nameservers", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + dns_search = data_model.property( + "dns-search", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + family = data_model.property( + "family", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + gateway = data_model.property( + "gateway", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mac_address = data_model.property( + "macAddress", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mac_address_permanent = data_model.property( + "macAddressPermanent", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + method = data_model.property( + "method", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mtu = data_model.property( + "mtu", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + netmask = data_model.property( + "netmask", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + network = data_model.property( + "network", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + physical = data_model.property( + "physical", PhysicalAdapter, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + routes = data_model.property( + "routes", dict, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + symmetric_route_rules = data_model.property( + "symmetricRouteRules", str, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + up_and_running = data_model.property( + "upAndRunning", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_xmit_hash_policy = data_model.property( + "bond-xmit_hash_policy", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_ad_num_ports = data_model.property( + "bond-ad_num_ports", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + _default=None, + bond_master=None, + virtual_network_tag=None, + address=None, + auto=None, + bond_downdelay=None, + bond_fail_over_mac=None, + bond_primary_reselect=None, + bond_lacp_rate=None, + bond_miimon=None, + bond_mode=None, + bond_slaves=None, + bond_updelay=None, + dns_nameservers=None, + dns_search=None, + family=None, + gateway=None, + mac_address=None, + mac_address_permanent=None, + method=None, + mtu=None, + netmask=None, + network=None, + physical=None, + routes=None, + status=None, + symmetric_route_rules=None, + up_and_running=None, + bond_xmit_hash_policy=None, + bond_ad_num_ports=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Network(data_model.DataObject): + """Network + + :param bond10_g: + :type bond10_g: NetworkConfig + + :param bond1_g: + :type bond1_g: NetworkConfig + + :param eth0: + :type eth0: NetworkConfig + + :param eth1: + :type eth1: NetworkConfig + + :param eth2: + :type eth2: NetworkConfig + + :param eth3: + :type eth3: NetworkConfig + + :param eth4: + :type eth4: NetworkConfig + + :param eth5: + :type eth5: NetworkConfig + + :param lo: + :type lo: NetworkConfig + + """ + bond10_g = data_model.property( + "Bond10G", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond1_g = data_model.property( + "Bond1G", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth0 = data_model.property( + "eth0", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth1 = data_model.property( + "eth1", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth2 = data_model.property( + "eth2", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth3 = data_model.property( + "eth3", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth4 = data_model.property( + "eth4", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth5 = data_model.property( + "eth5", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + lo = data_model.property( + "lo", NetworkConfig, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + bond10_g=None, + bond1_g=None, + eth0=None, + eth1=None, + eth2=None, + eth3=None, + eth4=None, + eth5=None, + lo=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Config(data_model.DataObject): + """Config + + :param cluster: [required] + :type cluster: ClusterConfig + + :param network: [required] + :type network: Network + + """ + cluster = data_model.property( + "cluster", ClusterConfig, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + network = data_model.property( + "network", Network, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster, + network): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetConfigResult(data_model.DataObject): + """GetConfigResult + + :param config: [required] The details of the cluster. Values returned in "config": cluster- Cluster information that identifies how the node communicates with the cluster it is associated with. (Object) network - Network information for bonding and Ethernet connections. (Object) + :type config: Config + + """ + config = data_model.property( + "config", Config, + array=False, optional=False, + documentation="""The details of the cluster. Values returned in "config": cluster- Cluster information that identifies how the node communicates with the cluster it is associated with. (Object) network - Network information for bonding and Ethernet connections. (Object) """, + dictionaryType=None + ) + + def __init__(self, + config): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StartVolumePairingResult(data_model.DataObject): + """StartVolumePairingResult + + :param volume_pairing_key: [required] A string of characters that is used by the "CompleteVolumePairing" API method. + :type volume_pairing_key: str + + """ + volume_pairing_key = data_model.property( + "volumePairingKey", str, + array=False, optional=False, + documentation="""A string of characters that is used by the "CompleteVolumePairing" API method. """, + dictionaryType=None + ) + + def __init__(self, + volume_pairing_key): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSSLCertificateResult(data_model.DataObject): + """SetSSLCertificateResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class UpdateBulkVolumeStatusRequest(data_model.DataObject): + """UpdateBulkVolumeStatusRequest + You can use UpdateBulkVolumeStatus in a script to update the status of a bulk volume job that you started with the + StartBulkVolumeRead or StartBulkVolumeWrite methods. + + :param key: [required] The key assigned during initialization of a StartBulkVolumeRead or StartBulkVolumeWrite session. + :type key: str + + :param status: [required] The status of the given bulk volume job. The system sets the status. Possible values are: running: Jobs that are still active. complete: Jobs that are done. failed: Jobs that failed. + :type status: str + + :param percent_complete: The completed progress of the bulk volume job as a percentage value. + :type percent_complete: str + + :param message: The message returned indicating the status of the bulk volume job after the job is complete. + :type message: str + + :param attributes: JSON attributes; updates what is on the bulk volume job. + :type attributes: dict + + """ + key = data_model.property( + "key", str, + array=False, optional=False, + documentation="""The key assigned during initialization of a StartBulkVolumeRead or StartBulkVolumeWrite session. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""The status of the given bulk volume job. The system sets the status. Possible values are: running: Jobs that are still active. complete: Jobs that are done. failed: Jobs that failed. """, + dictionaryType=None + ) + percent_complete = data_model.property( + "percentComplete", str, + array=False, optional=True, + documentation="""The completed progress of the bulk volume job as a percentage value. """, + dictionaryType=None + ) + message = data_model.property( + "message", str, + array=False, optional=True, + documentation="""The message returned indicating the status of the bulk volume job after the job is complete. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""JSON attributes; updates what is on the bulk volume job. """, + dictionaryType=None + ) + + def __init__(self, + key, + status, + percent_complete=None, + message=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetAccountEfficiencyRequest(data_model.DataObject): + """GetAccountEfficiencyRequest + GetAccountEfficiency enables you to retrieve efficiency statistics about a volume account. This method returns efficiency information + only for the account you specify as a parameter. + + :param account_id: [required] Specifies the volume account for which efficiency statistics are returned. + :type account_id: int + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""Specifies the volume account for which efficiency statistics are returned. """, + dictionaryType=None + ) + + def __init__(self, + account_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Platform(data_model.DataObject): + """Platform + + :param node_type: [required] SolidFire's name for this platform. + :type node_type: str + + :param chassis_type: [required] Name of the chassis (example: "R620"). + :type chassis_type: str + + :param cpu_model: [required] The model of CPU used on this platform. + :type cpu_model: str + + :param node_memory_gb: [required] The amount of memory on this platform in GiB. + :type node_memory_gb: int + + :param platform_config_version: + :type platform_config_version: str + + """ + node_type = data_model.property( + "nodeType", str, + array=False, optional=False, + documentation="""SolidFire's name for this platform. """, + dictionaryType=None + ) + chassis_type = data_model.property( + "chassisType", str, + array=False, optional=False, + documentation="""Name of the chassis (example: "R620"). """, + dictionaryType=None + ) + cpu_model = data_model.property( + "cpuModel", str, + array=False, optional=False, + documentation="""The model of CPU used on this platform. """, + dictionaryType=None + ) + node_memory_gb = data_model.property( + "nodeMemoryGB", int, + array=False, optional=False, + documentation="""The amount of memory on this platform in GiB. """, + dictionaryType=None + ) + platform_config_version = data_model.property( + "platformConfigVersion", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + node_type, + chassis_type, + cpu_model, + node_memory_gb, + platform_config_version=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VirtualNetworkAddress(data_model.DataObject): + """VirtualNetworkAddress + + :param virtual_network_id: [required] SolidFire unique identifier for a virtual network. + :type virtual_network_id: int + + :param address: [required] Virtual Network Address. + :type address: str + + """ + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=False, optional=False, + documentation="""SolidFire unique identifier for a virtual network. """, + dictionaryType=None + ) + address = data_model.property( + "address", str, + array=False, optional=False, + documentation="""Virtual Network Address. """, + dictionaryType=None + ) + + def __init__(self, + virtual_network_id, + address): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Node(data_model.DataObject): + """Node + A node refers to an individual machine in a cluster. + Each active node hosts a master service, which is responsible for managing the drives and other services on its node. + After a node is made active, its drives will become available for addition to the cluster. + + :param node_id: [required] The unique identifier for this node. + :type node_id: int + + :param associated_master_service_id: [required] The master service responsible for controlling other services on this node. + :type associated_master_service_id: int + + :param associated_fservice_id: [required] + :type associated_fservice_id: int + + :param fibre_channel_target_port_group: + :type fibre_channel_target_port_group: int + + :param name: [required] + :type name: str + + :param platform_info: [required] Information about the platform this node is. + :type platform_info: Platform + + :param software_version: [required] The version of SolidFire software this node is currently running. + :type software_version: str + + :param cip: [required] IP address used for both intra- and inter-cluster communication. + :type cip: str + + :param cipi: [required] The machine's name for the "cip" interface. + :type cipi: str + + :param mip: [required] IP address used for cluster management (hosting the API and web site). + :type mip: str + + :param mipi: [required] The machine's name for the "mip" interface. + :type mipi: str + + :param sip: [required] IP address used for iSCSI traffic. + :type sip: str + + :param sipi: [required] The machine's name for the "sip" interface. + :type sipi: str + + :param uuid: [required] UUID of node. + :type uuid: UUID + + :param virtual_networks: [required] + :type virtual_networks: VirtualNetworkAddress + + :param attributes: [required] + :type attributes: dict + + :param node_slot: + :type node_slot: str + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""The unique identifier for this node. """, + dictionaryType=None + ) + associated_master_service_id = data_model.property( + "associatedMasterServiceID", int, + array=False, optional=False, + documentation="""The master service responsible for controlling other services on this node. """, + dictionaryType=None + ) + associated_fservice_id = data_model.property( + "associatedFServiceID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + fibre_channel_target_port_group = data_model.property( + "fibreChannelTargetPortGroup", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + platform_info = data_model.property( + "platformInfo", Platform, + array=False, optional=False, + documentation="""Information about the platform this node is. """, + dictionaryType=None + ) + software_version = data_model.property( + "softwareVersion", str, + array=False, optional=False, + documentation="""The version of SolidFire software this node is currently running. """, + dictionaryType=None + ) + cip = data_model.property( + "cip", str, + array=False, optional=False, + documentation="""IP address used for both intra- and inter-cluster communication. """, + dictionaryType=None + ) + cipi = data_model.property( + "cipi", str, + array=False, optional=False, + documentation="""The machine's name for the "cip" interface. """, + dictionaryType=None + ) + mip = data_model.property( + "mip", str, + array=False, optional=False, + documentation="""IP address used for cluster management (hosting the API and web site). """, + dictionaryType=None + ) + mipi = data_model.property( + "mipi", str, + array=False, optional=False, + documentation="""The machine's name for the "mip" interface. """, + dictionaryType=None + ) + sip = data_model.property( + "sip", str, + array=False, optional=False, + documentation="""IP address used for iSCSI traffic. """, + dictionaryType=None + ) + sipi = data_model.property( + "sipi", str, + array=False, optional=False, + documentation="""The machine's name for the "sip" interface. """, + dictionaryType=None + ) + uuid = data_model.property( + "uuid", UUID, + array=False, optional=False, + documentation="""UUID of node. """, + dictionaryType=None + ) + virtual_networks = data_model.property( + "virtualNetworks", VirtualNetworkAddress, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_slot = data_model.property( + "nodeSlot", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + node_id, + associated_master_service_id, + associated_fservice_id, + name, + platform_info, + software_version, + cip, + cipi, + mip, + mipi, + sip, + sipi, + uuid, + virtual_networks, + attributes, + fibre_channel_target_port_group=None, + node_slot=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PendingNode(data_model.DataObject): + """PendingNode + A "pending node" is one that has not yet joined the cluster. + It can be added to a cluster using the AddNode method. + + :param pending_node_id: [required] + :type pending_node_id: int + + :param assigned_node_id: [required] + :type assigned_node_id: int + + :param name: [required] The host name for this node. + :type name: str + + :param compatible: [required] + :type compatible: bool + + :param platform_info: [required] Information about the platform this node is. + :type platform_info: Platform + + :param cip: [required] IP address used for both intra- and inter-cluster communication. + :type cip: str + + :param cipi: [required] The machine's name for the "cip" interface. + :type cipi: str + + :param mip: [required] IP address used for cluster management (hosting the API and web site). + :type mip: str + + :param mipi: [required] The machine's name for the "mip" interface. + :type mipi: str + + :param sip: [required] IP address used for iSCSI traffic. + :type sip: str + + :param sipi: [required] The machine's name for the "sip" interface. + :type sipi: str + + :param software_version: [required] The version of SolidFire software this node is currently running. + :type software_version: str + + :param uuid: [required] UUID of node. + :type uuid: UUID + + :param node_slot: UUID of node. + :type node_slot: str + + """ + pending_node_id = data_model.property( + "pendingNodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + assigned_node_id = data_model.property( + "assignedNodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The host name for this node. """, + dictionaryType=None + ) + compatible = data_model.property( + "compatible", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + platform_info = data_model.property( + "platformInfo", Platform, + array=False, optional=False, + documentation="""Information about the platform this node is. """, + dictionaryType=None + ) + cip = data_model.property( + "cip", str, + array=False, optional=False, + documentation="""IP address used for both intra- and inter-cluster communication. """, + dictionaryType=None + ) + cipi = data_model.property( + "cipi", str, + array=False, optional=False, + documentation="""The machine's name for the "cip" interface. """, + dictionaryType=None + ) + mip = data_model.property( + "mip", str, + array=False, optional=False, + documentation="""IP address used for cluster management (hosting the API and web site). """, + dictionaryType=None + ) + mipi = data_model.property( + "mipi", str, + array=False, optional=False, + documentation="""The machine's name for the "mip" interface. """, + dictionaryType=None + ) + sip = data_model.property( + "sip", str, + array=False, optional=False, + documentation="""IP address used for iSCSI traffic. """, + dictionaryType=None + ) + sipi = data_model.property( + "sipi", str, + array=False, optional=False, + documentation="""The machine's name for the "sip" interface. """, + dictionaryType=None + ) + software_version = data_model.property( + "softwareVersion", str, + array=False, optional=False, + documentation="""The version of SolidFire software this node is currently running. """, + dictionaryType=None + ) + uuid = data_model.property( + "uuid", UUID, + array=False, optional=False, + documentation="""UUID of node. """, + dictionaryType=None + ) + node_slot = data_model.property( + "nodeSlot", str, + array=False, optional=True, + documentation="""UUID of node. """, + dictionaryType=None + ) + + def __init__(self, + pending_node_id, + assigned_node_id, + name, + compatible, + platform_info, + cip, + cipi, + mip, + mipi, + sip, + sipi, + software_version, + uuid, + node_slot=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PendingActiveNode(data_model.DataObject): + """PendingActiveNode + + :param active_node_key: [required] + :type active_node_key: str + + :param assigned_node_id: [required] + :type assigned_node_id: int + + :param async_handle: [required] + :type async_handle: int + + :param cip: [required] + :type cip: str + + :param mip: [required] + :type mip: str + + :param pending_node_id: [required] + :type pending_node_id: int + + :param platform_info: [required] + :type platform_info: Platform + + :param sip: [required] + :type sip: str + + :param software_version: [required] + :type software_version: str + + """ + active_node_key = data_model.property( + "activeNodeKey", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + assigned_node_id = data_model.property( + "assignedNodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cip = data_model.property( + "cip", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + mip = data_model.property( + "mip", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + pending_node_id = data_model.property( + "pendingNodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + platform_info = data_model.property( + "platformInfo", Platform, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + sip = data_model.property( + "sip", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + software_version = data_model.property( + "softwareVersion", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + active_node_key, + assigned_node_id, + async_handle, + cip, + mip, + pending_node_id, + platform_info, + sip, + software_version): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListAllNodesResult(data_model.DataObject): + """ListAllNodesResult + + :param nodes: [required] + :type nodes: Node + + :param pending_nodes: [required] + :type pending_nodes: PendingNode + + :param pending_active_nodes: List of objects detailing information about all PendingActive nodes in the system. + :type pending_active_nodes: PendingActiveNode + + """ + nodes = data_model.property( + "nodes", Node, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + pending_nodes = data_model.property( + "pendingNodes", PendingNode, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + pending_active_nodes = data_model.property( + "pendingActiveNodes", PendingActiveNode, + array=True, optional=True, + documentation="""List of objects detailing information about all PendingActive nodes in the system. """, + dictionaryType=None + ) + + def __init__(self, + nodes, + pending_nodes, + pending_active_nodes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ShutdownResult(data_model.DataObject): + """ShutdownResult + + :param failed: [required] + :type failed: int + + :param successful: [required] + :type successful: int + + """ + failed = data_model.property( + "failed", int, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + successful = data_model.property( + "successful", int, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + failed, + successful): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetAPIResult(data_model.DataObject): + """GetAPIResult + + :param supported_versions: [required] + :type supported_versions: float + + :param current_version: [required] + :type current_version: float + + """ + supported_versions = data_model.property( + "supportedVersions", float, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + current_version = data_model.property( + "currentVersion", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + supported_versions, + current_version): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class LunAssignment(data_model.DataObject): + """LunAssignment + VolumeID and Lun assignment. + + :param volume_id: [required] The volume ID assigned to the Lun. + :type volume_id: int + + :param lun: [required] Correct LUN values are 0 - 16383. An exception will be seen if an incorrect LUN value is passed. + :type lun: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The volume ID assigned to the Lun. """, + dictionaryType=None + ) + lun = data_model.property( + "lun", int, + array=False, optional=False, + documentation="""Correct LUN values are 0 - 16383. An exception will be seen if an incorrect LUN value is passed. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + lun): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VolumeAccessGroupLunAssignments(data_model.DataObject): + """VolumeAccessGroupLunAssignments + VolumeAccessGroup ID and Lun to be assigned to all volumes within it. + + :param volume_access_group_id: [required] Unique volume access group ID for which the LUN assignments will be modified. + :type volume_access_group_id: int + + :param lun_assignments: [required] The volume IDs with assigned LUN values. + :type lun_assignments: LunAssignment + + :param deleted_lun_assignments: [required] The volume IDs with deleted LUN values. + :type deleted_lun_assignments: LunAssignment + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""Unique volume access group ID for which the LUN assignments will be modified. """, + dictionaryType=None + ) + lun_assignments = data_model.property( + "lunAssignments", LunAssignment, + array=True, optional=False, + documentation="""The volume IDs with assigned LUN values. """, + dictionaryType=None + ) + deleted_lun_assignments = data_model.property( + "deletedLunAssignments", LunAssignment, + array=True, optional=False, + documentation="""The volume IDs with deleted LUN values. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + lun_assignments, + deleted_lun_assignments): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeAccessGroupLunAssignmentsResult(data_model.DataObject): + """GetVolumeAccessGroupLunAssignmentsResult + + :param volume_access_group_lun_assignments: [required] List of all physical Fibre Channel ports, or a port for a single node. + :type volume_access_group_lun_assignments: VolumeAccessGroupLunAssignments + + """ + volume_access_group_lun_assignments = data_model.property( + "volumeAccessGroupLunAssignments", VolumeAccessGroupLunAssignments, + array=False, optional=False, + documentation="""List of all physical Fibre Channel ports, or a port for a single node. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_lun_assignments): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class MetadataHosts(data_model.DataObject): + """MetadataHosts + The volume services on which the volume metadata resides. + + :param dead_secondaries: [required] Secondary metadata (slice) services that are in a dead state. + :type dead_secondaries: int + + :param live_secondaries: [required] Secondary metadata (slice) services that are currently in a "live" state. + :type live_secondaries: int + + :param primary: [required] The primary metadata (slice) services hosting the volume. + :type primary: int + + """ + dead_secondaries = data_model.property( + "deadSecondaries", int, + array=True, optional=False, + documentation="""Secondary metadata (slice) services that are in a dead state. """, + dictionaryType=None + ) + live_secondaries = data_model.property( + "liveSecondaries", int, + array=True, optional=False, + documentation="""Secondary metadata (slice) services that are currently in a "live" state. """, + dictionaryType=None + ) + primary = data_model.property( + "primary", int, + array=False, optional=False, + documentation="""The primary metadata (slice) services hosting the volume. """, + dictionaryType=None + ) + + def __init__(self, + dead_secondaries, + live_secondaries, + primary): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VolumeStats(data_model.DataObject): + """VolumeStats + Contains statistical data for an individual volume. + + :param account_id: [required] AccountID of the volume owner. + :type account_id: int + + :param actual_iops: Current actual IOPS to the volume in the last 500 milliseconds. + :type actual_iops: int + + :param average_iopsize: Average size in bytes of recent I/O to the volume in the last 500 milliseconds. + :type average_iopsize: int + + :param burst_iopscredit: The total number of IOP credits available to the user. When users are not using up to the max IOPS, credits are accrued. + :type burst_iopscredit: int + + :param client_queue_depth: The number of outstanding read and write operations to the cluster. + :type client_queue_depth: int + + :param latency_usec: The observed latency time, in microseconds, to complete operations to a volume. A "0" (zero) value means there is no I/O to the volume. + :type latency_usec: int + + :param async_delay: + :type async_delay: int + + :param metadata_hosts: The volume services on which the volume metadata resides. + :type metadata_hosts: MetadataHosts + + :param desired_metadata_hosts: + :type desired_metadata_hosts: MetadataHosts + + :param non_zero_blocks: [required] The number of 4KiB blocks with data after the last garbage collection operation has completed. + :type non_zero_blocks: int + + :param read_bytes: [required] Total bytes read by clients. + :type read_bytes: int + + :param read_latency_usec: The average time, in microseconds, to complete read operations. + :type read_latency_usec: int + + :param read_ops: [required] Total read operations. + :type read_ops: int + + :param throttle: A floating value between 0 and 1 that represents how much the system is throttling clients below their max IOPS because of re-replication of data, transient errors and snapshots taken. + :type throttle: float + + :param timestamp: [required] The current time in UTC. + :type timestamp: str + + :param total_latency_usec: The average time, in microseconds, to complete read and write operations to a volume. + :type total_latency_usec: int + + :param unaligned_reads: [required] For 512e volumes, the number of read operations that were not on a 4k sector boundary. High numbers of unaligned reads may indicate improper partition alignment. + :type unaligned_reads: int + + :param unaligned_writes: [required] For 512e volumes, the number of write operations that were not on a 4k sector boundary. High numbers of unaligned writes may indicate improper partition alignment. + :type unaligned_writes: int + + :param volume_access_groups: [required] List of volume access group(s) to which a volume beintegers. + :type volume_access_groups: int + + :param volume_id: [required] Volume ID of the volume. + :type volume_id: int + + :param volume_size: [required] Total provisioned capacity in bytes. + :type volume_size: int + + :param volume_utilization: A floating value that describes how much the client is using the volume. Values: 0 = Client is not using the volume 1 = Client is using their max >1 = Client is using their burst + :type volume_utilization: float + + :param write_bytes: [required] Total bytes written by clients. + :type write_bytes: int + + :param write_latency_usec: The average time, in microseconds, to complete write operations. + :type write_latency_usec: int + + :param write_ops: [required] Total write operations occurring on the volume. + :type write_ops: int + + :param zero_blocks: [required] Total number of 4KiB blocks without data after the last round of garbage collection operation has completed. + :type zero_blocks: int + + :param write_bytes_last_sample: The total number of bytes written to the volume during the last sample period. + :type write_bytes_last_sample: int + + :param sample_period_msec: The length of the sample period in milliseconds. + :type sample_period_msec: int + + :param read_bytes_last_sample: The total number of bytes read from the volume during the last sample period. + :type read_bytes_last_sample: int + + :param read_ops_last_sample: The total number of read operations durin gth elast sample period. + :type read_ops_last_sample: int + + :param write_ops_last_sample: The total number of write operations during the last sample period. + :type write_ops_last_sample: int + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""AccountID of the volume owner. """, + dictionaryType=None + ) + actual_iops = data_model.property( + "actualIOPS", int, + array=False, optional=True, + documentation="""Current actual IOPS to the volume in the last 500 milliseconds. """, + dictionaryType=None + ) + average_iopsize = data_model.property( + "averageIOPSize", int, + array=False, optional=True, + documentation="""Average size in bytes of recent I/O to the volume in the last 500 milliseconds. """, + dictionaryType=None + ) + burst_iopscredit = data_model.property( + "burstIOPSCredit", int, + array=False, optional=True, + documentation="""The total number of IOP credits available to the user. When users are not using up to the max IOPS, credits are accrued. """, + dictionaryType=None + ) + client_queue_depth = data_model.property( + "clientQueueDepth", int, + array=False, optional=True, + documentation="""The number of outstanding read and write operations to the cluster. """, + dictionaryType=None + ) + latency_usec = data_model.property( + "latencyUSec", int, + array=False, optional=True, + documentation="""The observed latency time, in microseconds, to complete operations to a volume. A "0" (zero) value means there is no I/O to the volume. """, + dictionaryType=None + ) + async_delay = data_model.property( + "asyncDelay", int, + array=False, optional=True, + documentation="""""", + dictionaryType=None + ) + metadata_hosts = data_model.property( + "metadataHosts", MetadataHosts, + array=False, optional=True, + documentation="""The volume services on which the volume metadata resides. """, + dictionaryType=None + ) + desired_metadata_hosts = data_model.property( + "desiredMetadataHosts", MetadataHosts, + array=False, optional=True, + documentation="""""", + dictionaryType=None + ) + non_zero_blocks = data_model.property( + "nonZeroBlocks", int, + array=False, optional=False, + documentation="""The number of 4KiB blocks with data after the last garbage collection operation has completed. """, + dictionaryType=None + ) + read_bytes = data_model.property( + "readBytes", int, + array=False, optional=False, + documentation="""Total bytes read by clients. """, + dictionaryType=None + ) + read_latency_usec = data_model.property( + "readLatencyUSec", int, + array=False, optional=True, + documentation="""The average time, in microseconds, to complete read operations. """, + dictionaryType=None + ) + read_ops = data_model.property( + "readOps", int, + array=False, optional=False, + documentation="""Total read operations. """, + dictionaryType=None + ) + throttle = data_model.property( + "throttle", float, + array=False, optional=True, + documentation="""A floating value between 0 and 1 that represents how much the system is throttling clients below their max IOPS because of re-replication of data, transient errors and snapshots taken. """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""The current time in UTC. """, + dictionaryType=None + ) + total_latency_usec = data_model.property( + "totalLatencyUSec", int, + array=False, optional=True, + documentation="""The average time, in microseconds, to complete read and write operations to a volume. """, + dictionaryType=None + ) + unaligned_reads = data_model.property( + "unalignedReads", int, + array=False, optional=False, + documentation="""For 512e volumes, the number of read operations that were not on a 4k sector boundary. High numbers of unaligned reads may indicate improper partition alignment. """, + dictionaryType=None + ) + unaligned_writes = data_model.property( + "unalignedWrites", int, + array=False, optional=False, + documentation="""For 512e volumes, the number of write operations that were not on a 4k sector boundary. High numbers of unaligned writes may indicate improper partition alignment. """, + dictionaryType=None + ) + volume_access_groups = data_model.property( + "volumeAccessGroups", int, + array=True, optional=False, + documentation="""List of volume access group(s) to which a volume beintegers. """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""Volume ID of the volume. """, + dictionaryType=None + ) + volume_size = data_model.property( + "volumeSize", int, + array=False, optional=False, + documentation="""Total provisioned capacity in bytes. """, + dictionaryType=None + ) + volume_utilization = data_model.property( + "volumeUtilization", float, + array=False, optional=True, + documentation="""A floating value that describes how much the client is using the volume. Values: 0 = Client is not using the volume 1 = Client is using their max >1 = Client is using their burst """, + dictionaryType=None + ) + write_bytes = data_model.property( + "writeBytes", int, + array=False, optional=False, + documentation="""Total bytes written by clients. """, + dictionaryType=None + ) + write_latency_usec = data_model.property( + "writeLatencyUSec", int, + array=False, optional=True, + documentation="""The average time, in microseconds, to complete write operations. """, + dictionaryType=None + ) + write_ops = data_model.property( + "writeOps", int, + array=False, optional=False, + documentation="""Total write operations occurring on the volume. """, + dictionaryType=None + ) + zero_blocks = data_model.property( + "zeroBlocks", int, + array=False, optional=False, + documentation="""Total number of 4KiB blocks without data after the last round of garbage collection operation has completed. """, + dictionaryType=None + ) + write_bytes_last_sample = data_model.property( + "writeBytesLastSample", int, + array=False, optional=True, + documentation="""The total number of bytes written to the volume during the last sample period. """, + dictionaryType=None + ) + sample_period_msec = data_model.property( + "samplePeriodMSec", int, + array=False, optional=True, + documentation="""The length of the sample period in milliseconds. """, + dictionaryType=None + ) + read_bytes_last_sample = data_model.property( + "readBytesLastSample", int, + array=False, optional=True, + documentation="""The total number of bytes read from the volume during the last sample period. """, + dictionaryType=None + ) + read_ops_last_sample = data_model.property( + "readOpsLastSample", int, + array=False, optional=True, + documentation="""The total number of read operations durin gth elast sample period. """, + dictionaryType=None + ) + write_ops_last_sample = data_model.property( + "writeOpsLastSample", int, + array=False, optional=True, + documentation="""The total number of write operations during the last sample period. """, + dictionaryType=None + ) + + def __init__(self, + account_id, + non_zero_blocks, + read_bytes, + read_ops, + timestamp, + unaligned_reads, + unaligned_writes, + volume_access_groups, + volume_id, + volume_size, + write_bytes, + write_ops, + zero_blocks, + actual_iops=None, + average_iopsize=None, + burst_iopscredit=None, + client_queue_depth=None, + latency_usec=None, + async_delay=None, + metadata_hosts=None, + desired_metadata_hosts=None, + read_latency_usec=None, + throttle=None, + total_latency_usec=None, + volume_utilization=None, + write_latency_usec=None, + write_bytes_last_sample=None, + sample_period_msec=None, + read_bytes_last_sample=None, + read_ops_last_sample=None, + write_ops_last_sample=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByAccountResult(data_model.DataObject): + """ListVolumeStatsByAccountResult + + :param volume_stats: [required] List of account activity information. Note: The volumeID member is 0 for each entry, as the values represent the summation of all volumes owned by the account. + :type volume_stats: VolumeStats + + """ + volume_stats = data_model.property( + "volumeStats", VolumeStats, + array=True, optional=False, + documentation="""List of account activity information. Note: The volumeID member is 0 for each entry, as the values represent the summation of all volumes owned by the account. """, + dictionaryType=None + ) + + def __init__(self, + volume_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyGroupSnapshotRequest(data_model.DataObject): + """ModifyGroupSnapshotRequest + ModifyGroupSnapshot enables you to change the attributes of a group of snapshots. You can also use this method to enable snapshots created on the Read/Write (source) volume to be remotely replicated to a target SolidFire storage system. + + :param group_snapshot_id: [required] Specifies the ID of the group of snapshots. + :type group_snapshot_id: int + + :param expiration_time: Sets the time when the snapshot should be removed. If unspecified, the current time is used. + :type expiration_time: str + + :param enable_remote_replication: Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enable_remote_replication: bool + + :param snap_mirror_label: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snap_mirror_label: str + + """ + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=False, + documentation="""Specifies the ID of the group of snapshots. """, + dictionaryType=None + ) + expiration_time = data_model.property( + "expirationTime", str, + array=False, optional=True, + documentation="""Sets the time when the snapshot should be removed. If unspecified, the current time is used. """, + dictionaryType=None + ) + enable_remote_replication = data_model.property( + "enableRemoteReplication", bool, + array=False, optional=True, + documentation="""Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. """, + dictionaryType=None + ) + snap_mirror_label = data_model.property( + "snapMirrorLabel", str, + array=False, optional=True, + documentation="""Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. """, + dictionaryType=None + ) + + def __init__(self, + group_snapshot_id, + expiration_time=None, + enable_remote_replication=None, + snap_mirror_label=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteSnapshotRequest(data_model.DataObject): + """DeleteSnapshotRequest + DeleteSnapshot enables you to delete a snapshot. A snapshot that is currently the "active" snapshot cannot be deleted. You must + rollback and make another snapshot "active" before the current snapshot can be deleted. For more details on rolling back snapshots, see RollbackToSnapshot. + + :param snapshot_id: [required] The ID of the snapshot to be deleted. + :type snapshot_id: int + + """ + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation="""The ID of the snapshot to be deleted. """, + dictionaryType=None + ) + + def __init__(self, + snapshot_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ScheduleInfo(data_model.DataObject): + """ScheduleInfo + + :param snapshot_name: The snapshot name to be used. + :type snapshot_name: str + + :param enable_remote_replication: Indicates if the snapshot should be included in remote replication. + :type enable_remote_replication: bool + + :param volume_ids: A list of volume IDs to be included in the group snapshot. + :type volume_ids: int + + :param retention: The amount of time the snapshot will be retained in HH:mm:ss. + :type retention: str + + """ + snapshot_name = data_model.property( + "snapshotName", str, + array=False, optional=True, + documentation="""The snapshot name to be used. """, + dictionaryType=None + ) + enable_remote_replication = data_model.property( + "enableRemoteReplication", bool, + array=False, optional=True, + documentation="""Indicates if the snapshot should be included in remote replication. """, + dictionaryType=None + ) + volume_ids = data_model.property( + "volumeIDs", int, + array=True, optional=True, + documentation="""A list of volume IDs to be included in the group snapshot. """, + dictionaryType=None + ) + retention = data_model.property( + "retention", str, + array=False, optional=True, + documentation="""The amount of time the snapshot will be retained in HH:mm:ss. """, + dictionaryType=None + ) + + def __init__(self, + snapshot_name=None, + enable_remote_replication=None, + volume_ids=None, + retention=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Schedule(data_model.DataObject): + """Schedule + Schedule is an object containing information about each schedule created to autonomously make a snapshot of a volume. The return object includes information for all schedules. If scheduleID is used to identify a specific schedule then only information for that scheduleID is returned. Schedules information is returned with the API method, see ListSchedules on the SolidFire API guide page 245. + + :param last_run_time_started: Indicates the last time the schedule started n ISO 8601 date string. Valid values are: Success Failed + :type last_run_time_started: str + + :param has_error: Indicates whether or not the schedule has errors. + :type has_error: bool + + :param schedule_info: [required] Includes the unique name given to the schedule, the retention period for the snapshot that was created, and the volume ID of the volume from which the snapshot was created. + :type schedule_info: ScheduleInfo + + :param run_next_interval: Indicates whether or not the schedule will run the next time the scheduler is active. When set to "true", the schedule will run the next time the scheduler is active and then reset back to "false". + :type run_next_interval: bool + + :param name: [required] Unique name assigned to the schedule. + :type name: str + + :param last_run_status: Indicates the status of the last scheduled snapshot. Valid values are: Success Failed + :type last_run_status: str + + :param schedule_id: Unique ID of the schedule + :type schedule_id: int + + :param paused: Indicates whether or not the schedule is paused. + :type paused: bool + + :param to_be_deleted: Indicates if the schedule is marked for deletion. + :type to_be_deleted: bool + + :param frequency: [required] Indicates the frequency of the schedule occurrence. Set this to a type that inherits from Frequency. Valid types are: DayOfWeekFrequency DayOfMonthFrequency TimeIntervalFrequency + :type frequency: Frequency + + :param starting_date: Indicates the date the first time the schedule began of will begin. Formatted in UTC time. + :type starting_date: str + + :param recurring: Indicates whether or not the schedule is recurring. + :type recurring: bool + + """ + last_run_time_started = data_model.property( + "lastRunTimeStarted", str, + array=False, optional=True, + documentation="""Indicates the last time the schedule started n ISO 8601 date string. Valid values are: Success Failed """, + dictionaryType=None + ) + has_error = data_model.property( + "hasError", bool, + array=False, optional=True, + documentation="""Indicates whether or not the schedule has errors. """, + dictionaryType=None + ) + schedule_info = data_model.property( + "scheduleInfo", ScheduleInfo, + array=False, optional=False, + documentation="""Includes the unique name given to the schedule, the retention period for the snapshot that was created, and the volume ID of the volume from which the snapshot was created. """, + dictionaryType=None + ) + run_next_interval = data_model.property( + "runNextInterval", bool, + array=False, optional=True, + documentation="""Indicates whether or not the schedule will run the next time the scheduler is active. When set to "true", the schedule will run the next time the scheduler is active and then reset back to "false". """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""Unique name assigned to the schedule. """, + dictionaryType=None + ) + last_run_status = data_model.property( + "lastRunStatus", str, + array=False, optional=True, + documentation="""Indicates the status of the last scheduled snapshot. Valid values are: Success Failed """, + dictionaryType=None + ) + schedule_id = data_model.property( + "scheduleID", int, + array=False, optional=True, + documentation="""Unique ID of the schedule """, + dictionaryType=None + ) + paused = data_model.property( + "paused", bool, + array=False, optional=True, + documentation="""Indicates whether or not the schedule is paused. """, + dictionaryType=None + ) + to_be_deleted = data_model.property( + "toBeDeleted", bool, + array=False, optional=True, + documentation="""Indicates if the schedule is marked for deletion. """, + dictionaryType=None + ) + frequency = data_model.property( + "frequency", Frequency, + array=False, optional=False, + documentation="""Indicates the frequency of the schedule occurrence. Set this to a type that inherits from Frequency. Valid types are: DayOfWeekFrequency DayOfMonthFrequency TimeIntervalFrequency """, + dictionaryType=None + ) + starting_date = data_model.property( + "startingDate", str, + array=False, optional=True, + documentation="""Indicates the date the first time the schedule began of will begin. Formatted in UTC time. """, + dictionaryType=None + ) + recurring = data_model.property( + "recurring", bool, + array=False, optional=True, + documentation="""Indicates whether or not the schedule is recurring. """, + dictionaryType=None + ) + + def __init__(self, + schedule_info, + name, + frequency, + last_run_time_started=None, + has_error=None, + run_next_interval=None, + last_run_status=None, + schedule_id=None, + paused=None, + to_be_deleted=None, + starting_date=None, + recurring=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetScheduleResult(data_model.DataObject): + """GetScheduleResult + + :param schedule: [required] The schedule attributes. + :type schedule: Schedule + + """ + schedule = data_model.property( + "schedule", Schedule, + array=False, optional=False, + documentation="""The schedule attributes. """, + dictionaryType=None + ) + + def __init__(self, + schedule): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumesRequest(data_model.DataObject): + """ListVolumesRequest + The ListVolumes method enables you to retrieve a list of volumes that are in a cluster. You can specify the volumes you want to + return in the list by using the available parameters. + + :param start_volume_id: Only volumes with an ID greater than or equal to this value are returned. Mutually exclusive with the volumeIDs parameter. + :type start_volume_id: int + + :param limit: Specifies the maximum number of volume results that are returned. Mutually exclusive with the volumeIDs parameter. + :type limit: int + + :param volume_status: Only volumes with a status equal to the status value are returned. Possible values are: creating snapshotting active deleted + :type volume_status: str + + :param accounts: Returns only the volumes owned by the accounts you specify here. Mutually exclusive with the volumeIDs parameter. + :type accounts: int + + :param is_paired: Returns volumes that are paired or not paired. Possible values are: true: Returns all paired volumes. false: Returns all volumes that are not paired. + :type is_paired: bool + + :param volume_ids: A list of volume IDs. If you supply this parameter, other parameters operate only on this set of volumes. Mutually exclusive with the accounts, startVolumeID, and limit parameters. + :type volume_ids: int + + :param volume_name: Only volume object information matching the volume name is returned. + :type volume_name: str + + :param include_virtual_volumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type include_virtual_volumes: bool + + """ + start_volume_id = data_model.property( + "startVolumeID", int, + array=False, optional=True, + documentation="""Only volumes with an ID greater than or equal to this value are returned. Mutually exclusive with the volumeIDs parameter. """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""Specifies the maximum number of volume results that are returned. Mutually exclusive with the volumeIDs parameter. """, + dictionaryType=None + ) + volume_status = data_model.property( + "volumeStatus", str, + array=False, optional=True, + documentation="""Only volumes with a status equal to the status value are returned. Possible values are: creating snapshotting active deleted """, + dictionaryType=None + ) + accounts = data_model.property( + "accounts", int, + array=True, optional=True, + documentation="""Returns only the volumes owned by the accounts you specify here. Mutually exclusive with the volumeIDs parameter. """, + dictionaryType=None + ) + is_paired = data_model.property( + "isPaired", bool, + array=False, optional=True, + documentation="""Returns volumes that are paired or not paired. Possible values are: true: Returns all paired volumes. false: Returns all volumes that are not paired. """, + dictionaryType=None + ) + volume_ids = data_model.property( + "volumeIDs", int, + array=True, optional=True, + documentation="""A list of volume IDs. If you supply this parameter, other parameters operate only on this set of volumes. Mutually exclusive with the accounts, startVolumeID, and limit parameters. """, + dictionaryType=None + ) + volume_name = data_model.property( + "volumeName", str, + array=False, optional=True, + documentation="""Only volume object information matching the volume name is returned. """, + dictionaryType=None + ) + include_virtual_volumes = data_model.property( + "includeVirtualVolumes", bool, + array=False, optional=True, + documentation="""Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. """, + dictionaryType=None + ) + + def __init__(self, + start_volume_id=None, + limit=None, + volume_status=None, + accounts=None, + is_paired=None, + volume_ids=None, + volume_name=None, + include_virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NetworkConfigParams(data_model.DataObject): + """NetworkConfigParams + + :param _default: + :type _default: bool + + :param bond_master: + :type bond_master: str + + :param virtual_network_tag: + :type virtual_network_tag: str + + :param address: + :type address: str + + :param auto: + :type auto: bool + + :param bond_downdelay: + :type bond_downdelay: str + + :param bond_fail_over_mac: + :type bond_fail_over_mac: str + + :param bond_primary_reselect: + :type bond_primary_reselect: str + + :param bond_lacp_rate: + :type bond_lacp_rate: str + + :param bond_miimon: + :type bond_miimon: str + + :param bond_mode: + :type bond_mode: str + + :param bond_slaves: + :type bond_slaves: str + + :param bond_updelay: + :type bond_updelay: str + + :param dns_nameservers: + :type dns_nameservers: str + + :param dns_search: + :type dns_search: str + + :param family: + :type family: str + + :param gateway: + :type gateway: str + + :param mac_address: + :type mac_address: str + + :param mac_address_permanent: + :type mac_address_permanent: str + + :param method: + :type method: str + + :param mtu: + :type mtu: str + + :param netmask: + :type netmask: str + + :param network: + :type network: str + + :param physical: + :type physical: PhysicalAdapter + + :param routes: + :type routes: dict + + :param status: + :type status: str + + :param symmetric_route_rules: + :type symmetric_route_rules: str + + :param up_and_running: + :type up_and_running: bool + + """ + _default = data_model.property( + "#default", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_master = data_model.property( + "bond-master", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + virtual_network_tag = data_model.property( + "virtualNetworkTag", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + address = data_model.property( + "address", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + auto = data_model.property( + "auto", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_downdelay = data_model.property( + "bond-downdelay", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_fail_over_mac = data_model.property( + "bond-fail_over_mac", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_primary_reselect = data_model.property( + "bond-primary_reselect", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_lacp_rate = data_model.property( + "bond-lacp_rate", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_miimon = data_model.property( + "bond-miimon", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_mode = data_model.property( + "bond-mode", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_slaves = data_model.property( + "bond-slaves", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond_updelay = data_model.property( + "bond-updelay", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + dns_nameservers = data_model.property( + "dns-nameservers", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + dns_search = data_model.property( + "dns-search", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + family = data_model.property( + "family", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + gateway = data_model.property( + "gateway", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mac_address = data_model.property( + "macAddress", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mac_address_permanent = data_model.property( + "macAddressPermanent", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + method = data_model.property( + "method", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mtu = data_model.property( + "mtu", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + netmask = data_model.property( + "netmask", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + network = data_model.property( + "network", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + physical = data_model.property( + "physical", PhysicalAdapter, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + routes = data_model.property( + "routes", dict, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + symmetric_route_rules = data_model.property( + "symmetricRouteRules", str, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + up_and_running = data_model.property( + "upAndRunning", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + _default=None, + bond_master=None, + virtual_network_tag=None, + address=None, + auto=None, + bond_downdelay=None, + bond_fail_over_mac=None, + bond_primary_reselect=None, + bond_lacp_rate=None, + bond_miimon=None, + bond_mode=None, + bond_slaves=None, + bond_updelay=None, + dns_nameservers=None, + dns_search=None, + family=None, + gateway=None, + mac_address=None, + mac_address_permanent=None, + method=None, + mtu=None, + netmask=None, + network=None, + physical=None, + routes=None, + status=None, + symmetric_route_rules=None, + up_and_running=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NetworkParams(data_model.DataObject): + """NetworkParams + + :param bond10_g: + :type bond10_g: NetworkConfigParams + + :param bond1_g: + :type bond1_g: NetworkConfigParams + + :param eth0: + :type eth0: NetworkConfigParams + + :param eth1: + :type eth1: NetworkConfigParams + + :param eth2: + :type eth2: NetworkConfigParams + + :param eth3: + :type eth3: NetworkConfigParams + + :param lo: + :type lo: NetworkConfigParams + + """ + bond10_g = data_model.property( + "Bond10G", NetworkConfigParams, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + bond1_g = data_model.property( + "Bond1G", NetworkConfigParams, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth0 = data_model.property( + "eth0", NetworkConfigParams, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth1 = data_model.property( + "eth1", NetworkConfigParams, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth2 = data_model.property( + "eth2", NetworkConfigParams, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + eth3 = data_model.property( + "eth3", NetworkConfigParams, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + lo = data_model.property( + "lo", NetworkConfigParams, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + bond10_g=None, + bond1_g=None, + eth0=None, + eth1=None, + eth2=None, + eth3=None, + lo=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ConfigParams(data_model.DataObject): + """ConfigParams + + :param cluster: [required] + :type cluster: ClusterConfig + + :param network: [required] + :type network: NetworkParams + + """ + cluster = data_model.property( + "cluster", ClusterConfig, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + network = data_model.property( + "network", NetworkParams, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster, + network): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyScheduleResult(data_model.DataObject): + """ModifyScheduleResult + + :param schedule: + :type schedule: Schedule + + """ + schedule = data_model.property( + "schedule", Schedule, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + schedule=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClearClusterFaultsRequest(data_model.DataObject): + """ClearClusterFaultsRequest + You can use the ClearClusterFaults method to clear information about both current and previously detected faults. Both resolved + and unresolved faults can be cleared. + + :param fault_types: Determines the types of faults cleared. Possible values are: current: Faults that are currently detected and have not been resolved. resolved: (Default) Faults that were previously detected and resolved. all: Both current and resolved faults are cleared. The fault status can be determined by the resolved field of the fault object. + :type fault_types: str + + """ + fault_types = data_model.property( + "faultTypes", str, + array=False, optional=True, + documentation="""Determines the types of faults cleared. Possible values are: current: Faults that are currently detected and have not been resolved. resolved: (Default) Faults that were previously detected and resolved. all: Both current and resolved faults are cleared. The fault status can be determined by the resolved field of the fault object. """, + dictionaryType=None + ) + + def __init__(self, + fault_types=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveClusterAdminResult(data_model.DataObject): + """RemoveClusterAdminResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AsyncHandle(data_model.DataObject): + """AsyncHandle + + :param async_result_id: [required] The ID of the result. + :type async_result_id: int + + :param completed: [required] Returns true if it is completed and false if it isn't. + :type completed: bool + + :param create_time: [required] The time at which the asyncronous result was created + :type create_time: str + + :param last_update_time: [required] Time at which the result was last updated + :type last_update_time: str + + :param result_type: [required] The type of result. Could be Clone, DriveAdd, etc. + :type result_type: str + + :param success: [required] Returns whether the result was a success or failure. + :type success: bool + + :param data: [required] Attributes related to the result + :type data: dict + + """ + async_result_id = data_model.property( + "asyncResultID", int, + array=False, optional=False, + documentation="""The ID of the result. """, + dictionaryType=None + ) + completed = data_model.property( + "completed", bool, + array=False, optional=False, + documentation="""Returns true if it is completed and false if it isn't. """, + dictionaryType=None + ) + create_time = data_model.property( + "createTime", str, + array=False, optional=False, + documentation="""The time at which the asyncronous result was created """, + dictionaryType=None + ) + last_update_time = data_model.property( + "lastUpdateTime", str, + array=False, optional=False, + documentation="""Time at which the result was last updated """, + dictionaryType=None + ) + result_type = data_model.property( + "resultType", str, + array=False, optional=False, + documentation="""The type of result. Could be Clone, DriveAdd, etc. """, + dictionaryType=None + ) + success = data_model.property( + "success", bool, + array=False, optional=False, + documentation="""Returns whether the result was a success or failure. """, + dictionaryType=None + ) + data = data_model.property( + "data", dict, + array=False, optional=False, + documentation="""Attributes related to the result """, + dictionaryType=None + ) + + def __init__(self, + async_result_id, + completed, + create_time, + last_update_time, + result_type, + success, + data): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListAsyncResultsResult(data_model.DataObject): + """ListAsyncResultsResult + + :param async_handles: [required] An array of serialized asynchronous method results. + :type async_handles: AsyncHandle + + """ + async_handles = data_model.property( + "asyncHandles", AsyncHandle, + array=True, optional=False, + documentation="""An array of serialized asynchronous method results. """, + dictionaryType=None + ) + + def __init__(self, + async_handles): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Account(data_model.DataObject): + """Account + The object containing information about an account. + This object only includes "configured" information about the account, not any runtime or usage information. + + :param account_id: [required] Unique AccountID for the account. + :type account_id: int + + :param username: [required] User name for the account. + :type username: str + + :param status: [required] Current status of the account. + :type status: str + + :param volumes: [required] List of VolumeIDs for Volumes owned by this account. + :type volumes: int + + :param initiator_secret: CHAP secret to use for the initiator. + :type initiator_secret: CHAPSecret + + :param target_secret: CHAP secret to use for the target (mutual CHAP authentication). + :type target_secret: CHAPSecret + + :param storage_container_id: The id of the storage container associated with the account + :type storage_container_id: UUID + + :param attributes: List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""Unique AccountID for the account. """, + dictionaryType=None + ) + username = data_model.property( + "username", str, + array=False, optional=False, + documentation="""User name for the account. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Current status of the account. """, + dictionaryType=None + ) + volumes = data_model.property( + "volumes", int, + array=True, optional=False, + documentation="""List of VolumeIDs for Volumes owned by this account. """, + dictionaryType=None + ) + initiator_secret = data_model.property( + "initiatorSecret", CHAPSecret, + array=False, optional=True, + documentation="""CHAP secret to use for the initiator. """, + dictionaryType=None + ) + target_secret = data_model.property( + "targetSecret", CHAPSecret, + array=False, optional=True, + documentation="""CHAP secret to use for the target (mutual CHAP authentication). """, + dictionaryType=None + ) + storage_container_id = data_model.property( + "storageContainerID", UUID, + array=False, optional=True, + documentation="""The id of the storage container associated with the account """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + account_id, + username, + status, + volumes, + initiator_secret=None, + target_secret=None, + storage_container_id=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddAccountResult(data_model.DataObject): + """AddAccountResult + + :param account_id: [required] AccountID for the newly created Account. + :type account_id: int + + :param account: The full account object + :type account: Account + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""AccountID for the newly created Account. """, + dictionaryType=None + ) + account = data_model.property( + "account", Account, + array=False, optional=True, + documentation="""The full account object """, + dictionaryType=None + ) + + def __init__(self, + account_id, + account=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetFeatureStatusRequest(data_model.DataObject): + """GetFeatureStatusRequest + GetFeatureStatus enables you to retrieve the status of a cluster feature. + + :param feature: Specifies the feature for which the status is returned. Valid value is: vvols: Retrieve status for the NetApp SolidFire VVols cluster feature. + :type feature: str + + """ + feature = data_model.property( + "feature", str, + array=False, optional=True, + documentation="""Specifies the feature for which the status is returned. Valid value is: vvols: Retrieve status for the NetApp SolidFire VVols cluster feature. """, + dictionaryType=None + ) + + def __init__(self, + feature=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetIpmiConfigRequest(data_model.DataObject): + """GetIpmiConfigRequest + GetIpmiConfig enables you to retrieve hardware sensor information from sensors that are in your node. + + :param chassis_type: Displays information for each node chassis type. Valid values are: all: Returns sensor information for each chassis type. {chassis type}: Returns sensor information for a specified chassis type. + :type chassis_type: str + + """ + chassis_type = data_model.property( + "chassisType", str, + array=False, optional=True, + documentation="""Displays information for each node chassis type. Valid values are: all: Returns sensor information for each chassis type. {chassis type}: Returns sensor information for a specified chassis type. """, + dictionaryType=None + ) + + def __init__(self, + chassis_type=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifySnapshotRequest(data_model.DataObject): + """ModifySnapshotRequest + ModifySnapshot enables you to change the attributes currently assigned to a snapshot. You can use this method to enable snapshots created on + the Read/Write (source) volume to be remotely replicated to a target SolidFire storage system. + + :param snapshot_id: [required] Specifies the ID of the snapshot. + :type snapshot_id: int + + :param expiration_time: Sets the time when the snapshot should be removed. + :type expiration_time: str + + :param enable_remote_replication: Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enable_remote_replication: bool + + :param snap_mirror_label: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snap_mirror_label: str + + """ + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation="""Specifies the ID of the snapshot. """, + dictionaryType=None + ) + expiration_time = data_model.property( + "expirationTime", str, + array=False, optional=True, + documentation="""Sets the time when the snapshot should be removed. """, + dictionaryType=None + ) + enable_remote_replication = data_model.property( + "enableRemoteReplication", bool, + array=False, optional=True, + documentation="""Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. """, + dictionaryType=None + ) + snap_mirror_label = data_model.property( + "snapMirrorLabel", str, + array=False, optional=True, + documentation="""Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. """, + dictionaryType=None + ) + + def __init__(self, + snapshot_id, + expiration_time=None, + enable_remote_replication=None, + snap_mirror_label=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyClusterFullThresholdResult(data_model.DataObject): + """ModifyClusterFullThresholdResult + + :param block_fullness: [required] Current computed level of block fullness of the cluster. Possible values: stage1Happy: No alerts or error conditions. stage2Aware: 3 nodes of capacity available. stage3Low: 2 nodes of capacity available. stage4Critical: 1 node of capacity available. No new volumes or clones can be created. stage5CompletelyConsumed: Completely consumed. Cluster is read-only, iSCSI connection is maintained but all writes are suspended. + :type block_fullness: str + + :param fullness: [required] Reflects the highest level of fullness between "blockFullness" and "metadataFullness". + :type fullness: str + + :param max_metadata_over_provision_factor: [required] A value representative of the number of times metadata space can be over provisioned relative to the amount of space available. For example, if there was enough metadata space to store 100 TiB of volumes and this number was set to 5, then 500 TiB worth of volumes could be created. + :type max_metadata_over_provision_factor: int + + :param metadata_fullness: [required] Current computed level of metadata fullness of the cluster. + :type metadata_fullness: str + + :param slice_reserve_used_threshold_pct: [required] Error condition; message sent to "Alerts" if the reserved slice utilization is greater than the sliceReserveUsedThresholdPct value returned. + :type slice_reserve_used_threshold_pct: int + + :param stage2_aware_threshold: [required] Awareness condition: Value that is set for "Stage 2" cluster threshold level. + :type stage2_aware_threshold: int + + :param stage2_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage2 condition will exist. + :type stage2_block_threshold_bytes: int + + :param stage3_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage3 condition will exist. + :type stage3_block_threshold_bytes: int + + :param stage3_block_threshold_percent: [required] The percent value set for stage3. At this percent full, a warning will be posted in the Alerts log. + :type stage3_block_threshold_percent: int + + :param stage3_low_threshold: [required] Error condition; message sent to "Alerts" that capacity on a cluster is getting low. + :type stage3_low_threshold: int + + :param stage4_critical_threshold: [required] Error condition; message sent to "Alerts" that capacity on a cluster is critically low. + :type stage4_critical_threshold: int + + :param stage4_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage4 condition will exist. + :type stage4_block_threshold_bytes: int + + :param stage5_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage5 condition will exist. + :type stage5_block_threshold_bytes: int + + :param sum_total_cluster_bytes: [required] Physical capacity of the cluster measured in bytes. + :type sum_total_cluster_bytes: int + + :param sum_total_metadata_cluster_bytes: [required] Total amount of space that can be used to store metadata. + :type sum_total_metadata_cluster_bytes: int + + :param sum_used_cluster_bytes: [required] Number of bytes used on the cluster. + :type sum_used_cluster_bytes: int + + :param sum_used_metadata_cluster_bytes: [required] Amount of space used on volume drives to store metadata. + :type sum_used_metadata_cluster_bytes: int + + """ + block_fullness = data_model.property( + "blockFullness", str, + array=False, optional=False, + documentation="""Current computed level of block fullness of the cluster. Possible values: stage1Happy: No alerts or error conditions. stage2Aware: 3 nodes of capacity available. stage3Low: 2 nodes of capacity available. stage4Critical: 1 node of capacity available. No new volumes or clones can be created. stage5CompletelyConsumed: Completely consumed. Cluster is read-only, iSCSI connection is maintained but all writes are suspended. """, + dictionaryType=None + ) + fullness = data_model.property( + "fullness", str, + array=False, optional=False, + documentation="""Reflects the highest level of fullness between "blockFullness" and "metadataFullness". """, + dictionaryType=None + ) + max_metadata_over_provision_factor = data_model.property( + "maxMetadataOverProvisionFactor", int, + array=False, optional=False, + documentation="""A value representative of the number of times metadata space can be over provisioned relative to the amount of space available. For example, if there was enough metadata space to store 100 TiB of volumes and this number was set to 5, then 500 TiB worth of volumes could be created. """, + dictionaryType=None + ) + metadata_fullness = data_model.property( + "metadataFullness", str, + array=False, optional=False, + documentation="""Current computed level of metadata fullness of the cluster. """, + dictionaryType=None + ) + slice_reserve_used_threshold_pct = data_model.property( + "sliceReserveUsedThresholdPct", int, + array=False, optional=False, + documentation="""Error condition; message sent to "Alerts" if the reserved slice utilization is greater than the sliceReserveUsedThresholdPct value returned. """, + dictionaryType=None + ) + stage2_aware_threshold = data_model.property( + "stage2AwareThreshold", int, + array=False, optional=False, + documentation="""Awareness condition: Value that is set for "Stage 2" cluster threshold level. """, + dictionaryType=None + ) + stage2_block_threshold_bytes = data_model.property( + "stage2BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage2 condition will exist. """, + dictionaryType=None + ) + stage3_block_threshold_bytes = data_model.property( + "stage3BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage3 condition will exist. """, + dictionaryType=None + ) + stage3_block_threshold_percent = data_model.property( + "stage3BlockThresholdPercent", int, + array=False, optional=False, + documentation="""The percent value set for stage3. At this percent full, a warning will be posted in the Alerts log. """, + dictionaryType=None + ) + stage3_low_threshold = data_model.property( + "stage3LowThreshold", int, + array=False, optional=False, + documentation="""Error condition; message sent to "Alerts" that capacity on a cluster is getting low. """, + dictionaryType=None + ) + stage4_critical_threshold = data_model.property( + "stage4CriticalThreshold", int, + array=False, optional=False, + documentation="""Error condition; message sent to "Alerts" that capacity on a cluster is critically low. """, + dictionaryType=None + ) + stage4_block_threshold_bytes = data_model.property( + "stage4BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage4 condition will exist. """, + dictionaryType=None + ) + stage5_block_threshold_bytes = data_model.property( + "stage5BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage5 condition will exist. """, + dictionaryType=None + ) + sum_total_cluster_bytes = data_model.property( + "sumTotalClusterBytes", int, + array=False, optional=False, + documentation="""Physical capacity of the cluster measured in bytes. """, + dictionaryType=None + ) + sum_total_metadata_cluster_bytes = data_model.property( + "sumTotalMetadataClusterBytes", int, + array=False, optional=False, + documentation="""Total amount of space that can be used to store metadata. """, + dictionaryType=None + ) + sum_used_cluster_bytes = data_model.property( + "sumUsedClusterBytes", int, + array=False, optional=False, + documentation="""Number of bytes used on the cluster. """, + dictionaryType=None + ) + sum_used_metadata_cluster_bytes = data_model.property( + "sumUsedMetadataClusterBytes", int, + array=False, optional=False, + documentation="""Amount of space used on volume drives to store metadata. """, + dictionaryType=None + ) + + def __init__(self, + block_fullness, + fullness, + max_metadata_over_provision_factor, + metadata_fullness, + slice_reserve_used_threshold_pct, + stage2_aware_threshold, + stage2_block_threshold_bytes, + stage3_block_threshold_bytes, + stage3_block_threshold_percent, + stage3_low_threshold, + stage4_critical_threshold, + stage4_block_threshold_bytes, + stage5_block_threshold_bytes, + sum_total_cluster_bytes, + sum_total_metadata_cluster_bytes, + sum_used_cluster_bytes, + sum_used_metadata_cluster_bytes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyScheduleRequest(data_model.DataObject): + """ModifyScheduleRequest + ModifySchedule enables you to change the intervals at which a scheduled snapshot occurs. This allows for adjustment to the snapshot frequency and retention. + + :param schedule: [required] The "Schedule" object will be used to modify an existing schedule. The ScheduleID property is required. Frequency property must be of type that inherits from Frequency. Valid types are: DaysOfMonthFrequency DaysOrWeekFrequency TimeIntervalFrequency + :type schedule: Schedule + + """ + schedule = data_model.property( + "schedule", Schedule, + array=False, optional=False, + documentation="""The "Schedule" object will be used to modify an existing schedule. The ScheduleID property is required. Frequency property must be of type that inherits from Frequency. Valid types are: DaysOfMonthFrequency DaysOrWeekFrequency TimeIntervalFrequency """, + dictionaryType=None + ) + + def __init__(self, + schedule): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetDefaultQoSRequest(data_model.DataObject): + """SetDefaultQoSRequest + SetDefaultQoS enables you to configure the default Quality of Service (QoS) values (measured in inputs and outputs per second, or + IOPS) for a volume. For more information about QoS in a SolidFire cluster, see the User Guide. + + :param min_iops: The minimum number of sustained IOPS provided by the cluster to a volume. + :type min_iops: int + + :param max_iops: The maximum number of sustained IOPS provided by the cluster to a volume. + :type max_iops: int + + :param burst_iops: The maximum number of IOPS allowed in a short burst scenario. + :type burst_iops: int + + """ + min_iops = data_model.property( + "minIOPS", int, + array=False, optional=True, + documentation="""The minimum number of sustained IOPS provided by the cluster to a volume. """, + dictionaryType=None + ) + max_iops = data_model.property( + "maxIOPS", int, + array=False, optional=True, + documentation="""The maximum number of sustained IOPS provided by the cluster to a volume. """, + dictionaryType=None + ) + burst_iops = data_model.property( + "burstIOPS", int, + array=False, optional=True, + documentation="""The maximum number of IOPS allowed in a short burst scenario. """, + dictionaryType=None + ) + + def __init__(self, + min_iops=None, + max_iops=None, + burst_iops=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NewDrive(data_model.DataObject): + """NewDrive + + :param drive_id: [required] A unique identifier for this drive. + :type drive_id: int + + :param type: block or slice + :type type: str + + """ + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation="""A unique identifier for this drive. """, + dictionaryType=None + ) + type = data_model.property( + "type", str, + array=False, optional=True, + documentation="""block or slice """, + dictionaryType=None + ) + + def __init__(self, + drive_id, + type=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterStats(data_model.DataObject): + """ClusterStats + + :param cluster_utilization: [required] The amount of cluster capacity being utilized. + :type cluster_utilization: float + + :param client_queue_depth: [required] + :type client_queue_depth: int + + :param normalized_iops: [required] + :type normalized_iops: int + + :param read_bytes: [required] Total bytes read by clients. + :type read_bytes: int + + :param read_latency_usec_total: [required] + :type read_latency_usec_total: int + + :param read_ops: [required] Total read operations. + :type read_ops: int + + :param services_count: [required] Services count + :type services_count: int + + :param services_total: [required] Total services. + :type services_total: int + + :param timestamp: [required] Current time in UTC format. ISO 8601 date string. + :type timestamp: str + + :param write_bytes: [required] Total bytes written by clients. + :type write_bytes: int + + :param write_latency_usec_total: [required] + :type write_latency_usec_total: int + + :param write_ops: [required] Total write operations. + :type write_ops: int + + :param actual_iops: + :type actual_iops: int + + :param average_iopsize: + :type average_iopsize: int + + :param latency_usec: + :type latency_usec: int + + :param read_bytes_last_sample: + :type read_bytes_last_sample: int + + :param read_latency_usec: + :type read_latency_usec: int + + :param read_ops_last_sample: + :type read_ops_last_sample: int + + :param sample_period_msec: + :type sample_period_msec: int + + :param unaligned_reads: + :type unaligned_reads: int + + :param unaligned_writes: + :type unaligned_writes: int + + :param write_bytes_last_sample: + :type write_bytes_last_sample: int + + :param write_latency_usec: + :type write_latency_usec: int + + :param write_ops_last_sample: + :type write_ops_last_sample: int + + """ + cluster_utilization = data_model.property( + "clusterUtilization", float, + array=False, optional=False, + documentation="""The amount of cluster capacity being utilized. """, + dictionaryType=None + ) + client_queue_depth = data_model.property( + "clientQueueDepth", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + normalized_iops = data_model.property( + "normalizedIOPS", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + read_bytes = data_model.property( + "readBytes", int, + array=False, optional=False, + documentation="""Total bytes read by clients. """, + dictionaryType=None + ) + read_latency_usec_total = data_model.property( + "readLatencyUSecTotal", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + read_ops = data_model.property( + "readOps", int, + array=False, optional=False, + documentation="""Total read operations. """, + dictionaryType=None + ) + services_count = data_model.property( + "servicesCount", int, + array=False, optional=False, + documentation="""Services count """, + dictionaryType=None + ) + services_total = data_model.property( + "servicesTotal", int, + array=False, optional=False, + documentation="""Total services. """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""Current time in UTC format. ISO 8601 date string. """, + dictionaryType=None + ) + write_bytes = data_model.property( + "writeBytes", int, + array=False, optional=False, + documentation="""Total bytes written by clients. """, + dictionaryType=None + ) + write_latency_usec_total = data_model.property( + "writeLatencyUSecTotal", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + write_ops = data_model.property( + "writeOps", int, + array=False, optional=False, + documentation="""Total write operations. """, + dictionaryType=None + ) + actual_iops = data_model.property( + "actualIOPS", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + average_iopsize = data_model.property( + "averageIOPSize", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + latency_usec = data_model.property( + "latencyUSec", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + read_bytes_last_sample = data_model.property( + "readBytesLastSample", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + read_latency_usec = data_model.property( + "readLatencyUSec", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + read_ops_last_sample = data_model.property( + "readOpsLastSample", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + sample_period_msec = data_model.property( + "samplePeriodMsec", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + unaligned_reads = data_model.property( + "unalignedReads", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + unaligned_writes = data_model.property( + "unalignedWrites", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + write_bytes_last_sample = data_model.property( + "writeBytesLastSample", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + write_latency_usec = data_model.property( + "writeLatencyUSec", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + write_ops_last_sample = data_model.property( + "writeOpsLastSample", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster_utilization, + client_queue_depth, + normalized_iops, + read_bytes, + read_latency_usec_total, + read_ops, + services_count, + services_total, + timestamp, + write_bytes, + write_latency_usec_total, + write_ops, + actual_iops=None, + average_iopsize=None, + latency_usec=None, + read_bytes_last_sample=None, + read_latency_usec=None, + read_ops_last_sample=None, + sample_period_msec=None, + unaligned_reads=None, + unaligned_writes=None, + write_bytes_last_sample=None, + write_latency_usec=None, + write_ops_last_sample=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterStatsResult(data_model.DataObject): + """GetClusterStatsResult + + :param cluster_stats: [required] + :type cluster_stats: ClusterStats + + """ + cluster_stats = data_model.property( + "clusterStats", ClusterStats, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumeAccessGroupRequest(data_model.DataObject): + """ModifyVolumeAccessGroupRequest + You can use ModifyVolumeAccessGroup to update initiators and add or remove volumes from a volume access group. If a specified initiator or volume is a duplicate of what currently exists, the volume access group is left as-is. If you do not specify a value for volumes or initiators, the current list of initiators and volumes is not changed. + + :param volume_access_group_id: [required] The ID of the volume access group to modify. + :type volume_access_group_id: int + + :param virtual_network_id: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtual_network_id: int + + :param virtual_network_tags: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtual_network_tags: int + + :param name: The new name for this volume access group. Not required to be unique, but recommended. + :type name: str + + :param initiators: List of initiators to include in the volume access group. If unspecified, the access group's configured initiators are not modified. + :type initiators: str + + :param volumes: List of volumes to initially include in the volume access group. If unspecified, the access group's volumes are not modified. + :type volumes: int + + :param delete_orphan_initiators: true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. + :type delete_orphan_initiators: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID of the volume access group to modify. """, + dictionaryType=None + ) + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=True, optional=True, + documentation="""The ID of the SolidFire virtual network to associate the volume access group with. """, + dictionaryType=None + ) + virtual_network_tags = data_model.property( + "virtualNetworkTags", int, + array=True, optional=True, + documentation="""The ID of the SolidFire virtual network to associate the volume access group with. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""The new name for this volume access group. Not required to be unique, but recommended. """, + dictionaryType=None + ) + initiators = data_model.property( + "initiators", str, + array=True, optional=True, + documentation="""List of initiators to include in the volume access group. If unspecified, the access group's configured initiators are not modified. """, + dictionaryType=None + ) + volumes = data_model.property( + "volumes", int, + array=True, optional=True, + documentation="""List of volumes to initially include in the volume access group. If unspecified, the access group's volumes are not modified. """, + dictionaryType=None + ) + delete_orphan_initiators = data_model.property( + "deleteOrphanInitiators", bool, + array=False, optional=True, + documentation="""true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + virtual_network_id=None, + virtual_network_tags=None, + name=None, + initiators=None, + volumes=None, + delete_orphan_initiators=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VolumeQOS(data_model.DataObject): + """VolumeQOS + Quality of Service (QoS) Result values are used on SolidFire volumes to provision performance expectations. + + :param min_iops: [required] Desired minimum 4KB IOPS to guarantee. The allowed IOPS will only drop below this level if all volumes have been capped at their min IOPS value and there is still insufficient performance capacity. + :type min_iops: int + + :param max_iops: [required] Desired maximum 4KB IOPS allowed over an extended period of time. + :type max_iops: int + + :param burst_iops: [required] Maximum "peak" 4KB IOPS allowed for short periods of time. Allows for bursts of I/O activity over the normal max IOPS value. + :type burst_iops: int + + :param burst_time: [required] The length of time burst IOPS is allowed. The value returned is represented in time units of seconds. Note: this value is calculated by the system based on IOPS set for QoS. + :type burst_time: int + + :param curve: [required] The curve is a set of key-value pairs. The keys are I/O sizes in bytes. The values represent the cost performing an IOP at a specific I/O size. The curve is calculated relative to a 4096 byte operation set at 100 IOPS. + :type curve: dict + + """ + min_iops = data_model.property( + "minIOPS", int, + array=False, optional=False, + documentation="""Desired minimum 4KB IOPS to guarantee. The allowed IOPS will only drop below this level if all volumes have been capped at their min IOPS value and there is still insufficient performance capacity. """, + dictionaryType=None + ) + max_iops = data_model.property( + "maxIOPS", int, + array=False, optional=False, + documentation="""Desired maximum 4KB IOPS allowed over an extended period of time. """, + dictionaryType=None + ) + burst_iops = data_model.property( + "burstIOPS", int, + array=False, optional=False, + documentation="""Maximum "peak" 4KB IOPS allowed for short periods of time. Allows for bursts of I/O activity over the normal max IOPS value. """, + dictionaryType=None + ) + burst_time = data_model.property( + "burstTime", int, + array=False, optional=False, + documentation="""The length of time burst IOPS is allowed. The value returned is represented in time units of seconds. Note: this value is calculated by the system based on IOPS set for QoS. """, + dictionaryType=None + ) + curve = data_model.property( + "curve", dict, + array=False, optional=False, + documentation="""The curve is a set of key-value pairs. The keys are I/O sizes in bytes. The values represent the cost performing an IOP at a specific I/O size. The curve is calculated relative to a 4096 byte operation set at 100 IOPS. """, + dictionaryType=int + ) + + def __init__(self, + min_iops, + max_iops, + burst_iops, + burst_time, + curve): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SnapshotReplication(data_model.DataObject): + """SnapshotReplication + + :param state: [required] The state of the snapshot replication. + :type state: str + + :param state_details: [required] Reserved for future use. + :type state_details: str + + """ + state = data_model.property( + "state", str, + array=False, optional=False, + documentation="""The state of the snapshot replication. """, + dictionaryType=None + ) + state_details = data_model.property( + "stateDetails", str, + array=False, optional=False, + documentation="""Reserved for future use. """, + dictionaryType=None + ) + + def __init__(self, + state, + state_details): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoteReplication(data_model.DataObject): + """RemoteReplication + Details on the volume replication. + + :param mode: [required] Volume replication mode. Possible values: Async: Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: Source acknowledges write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster will be replicated. Active writes from the source volume will not be replicated. + :type mode: str + + :param pause_limit: [required] The number of occurring write ops before auto-pausing, on a per volume pair level. + :type pause_limit: int + + :param remote_service_id: [required] The remote slice service ID. + :type remote_service_id: int + + :param resume_details: [required] Reserved for future use. + :type resume_details: str + + :param snapshot_replication: [required] The details of snapshot replication. + :type snapshot_replication: SnapshotReplication + + :param state: [required] The state of the volume replication. + :type state: str + + :param state_details: [required] Reserved for future use. + :type state_details: str + + """ + mode = data_model.property( + "mode", str, + array=False, optional=False, + documentation="""Volume replication mode. Possible values: Async: Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: Source acknowledges write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster will be replicated. Active writes from the source volume will not be replicated. """, + dictionaryType=None + ) + pause_limit = data_model.property( + "pauseLimit", int, + array=False, optional=False, + documentation="""The number of occurring write ops before auto-pausing, on a per volume pair level. """, + dictionaryType=None + ) + remote_service_id = data_model.property( + "remoteServiceID", int, + array=False, optional=False, + documentation="""The remote slice service ID. """, + dictionaryType=None + ) + resume_details = data_model.property( + "resumeDetails", str, + array=False, optional=False, + documentation="""Reserved for future use. """, + dictionaryType=None + ) + snapshot_replication = data_model.property( + "snapshotReplication", SnapshotReplication, + array=False, optional=False, + documentation="""The details of snapshot replication. """, + dictionaryType=None + ) + state = data_model.property( + "state", str, + array=False, optional=False, + documentation="""The state of the volume replication. """, + dictionaryType=None + ) + state_details = data_model.property( + "stateDetails", str, + array=False, optional=False, + documentation="""Reserved for future use. """, + dictionaryType=None + ) + + def __init__(self, + mode, + pause_limit, + remote_service_id, + resume_details, + snapshot_replication, + state, + state_details): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VolumePair(data_model.DataObject): + """VolumePair + The Volume Pair Info is an object containing information about a volume that is paired on a remote cluster. + If the volume is not paired, this object is null. + + :param cluster_pair_id: [required] The remote cluster a volume is paired with. + :type cluster_pair_id: int + + :param remote_volume_id: [required] The VolumeID on the remote cluster a volume is paired with. + :type remote_volume_id: int + + :param remote_slice_id: [required] The SliceID on the remote cluster a volume is paired with. + :type remote_slice_id: int + + :param remote_volume_name: [required] The last-observed name of the volume on the remote cluster a volume is paired with. + :type remote_volume_name: str + + :param volume_pair_uuid: [required] A UUID in canonical form. + :type volume_pair_uuid: UUID + + :param remote_replication: [required] Details about the replication configuration for this volume pair. + :type remote_replication: RemoteReplication + + """ + cluster_pair_id = data_model.property( + "clusterPairID", int, + array=False, optional=False, + documentation="""The remote cluster a volume is paired with. """, + dictionaryType=None + ) + remote_volume_id = data_model.property( + "remoteVolumeID", int, + array=False, optional=False, + documentation="""The VolumeID on the remote cluster a volume is paired with. """, + dictionaryType=None + ) + remote_slice_id = data_model.property( + "remoteSliceID", int, + array=False, optional=False, + documentation="""The SliceID on the remote cluster a volume is paired with. """, + dictionaryType=None + ) + remote_volume_name = data_model.property( + "remoteVolumeName", str, + array=False, optional=False, + documentation="""The last-observed name of the volume on the remote cluster a volume is paired with. """, + dictionaryType=None + ) + volume_pair_uuid = data_model.property( + "volumePairUUID", UUID, + array=False, optional=False, + documentation="""A UUID in canonical form. """, + dictionaryType=None + ) + remote_replication = data_model.property( + "remoteReplication", RemoteReplication, + array=False, optional=False, + documentation="""Details about the replication configuration for this volume pair. """, + dictionaryType=None + ) + + def __init__(self, + cluster_pair_id, + remote_volume_id, + remote_slice_id, + remote_volume_name, + volume_pair_uuid, + remote_replication): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Volume(data_model.DataObject): + """Volume + Volumes Info is an object containing information about a volume. + The return objects only include "configured" information about the volume and not runtime or usage information. + Information about paired volumes will also be returned. + + :param volume_id: [required] Unique VolumeID for the volume. + :type volume_id: int + + :param name: [required] Name of the volume as provided at creation time. + :type name: str + + :param account_id: [required] Unique AccountID for the account. + :type account_id: int + + :param create_time: [required] UTC formatted time the volume was created. + :type create_time: str + + :param volume_consistency_group_uuid: [required] + :type volume_consistency_group_uuid: UUID + + :param volume_uuid: [required] + :type volume_uuid: UUID + + :param enable_snap_mirror_replication: [required] + :type enable_snap_mirror_replication: bool + + :param status: [required] Current status of the volume init: A volume that is being initialized and is not ready for connections. active: An active volume ready for connections. + :type status: str + + :param access: [required] Access allowed for the volume readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. replicationTarget: Designated as a target volume in a replicated volume pair. + :type access: str + + :param enable512e: [required] If "true", the volume provides 512 byte sector emulation. + :type enable512e: bool + + :param iqn: Volume iSCSI Qualified Name. + :type iqn: str + + :param scsi_euidevice_id: [required] Globally unique SCSI device identifier for the volume in EUI-64 based 16-byte format. + :type scsi_euidevice_id: str + + :param scsi_naadevice_id: [required] Globally unique SCSI device identifier for the volume in NAA IEEE Registered Extended format. + :type scsi_naadevice_id: str + + :param qos: [required] Quality of service settings for this volume. + :type qos: VolumeQOS + + :param qos_policy_id: The QoS policy ID associated with the volume. The value is null if the volume is not associated with a policy. + :type qos_policy_id: int + + :param volume_access_groups: [required] List of volume access groups to which a volume beintegers. + :type volume_access_groups: int + + :param volume_pairs: [required] Information about a paired volume. Available only if a volume is paired. @see VolumePairs for return values. + :type volume_pairs: VolumePair + + :param delete_time: The time this volume was deleted. If this has no value, the volume has not yet been deleted. + :type delete_time: str + + :param purge_time: The time this volume will be purged from the system. If this has no value, the volume has not yet been deleted (and is not scheduled for purging). + :type purge_time: str + + :param last_access_time: The last time any access to this volume occurred. If this has no value, the last access time is not known. + :type last_access_time: str + + :param last_access_time_io: The last time I/O access to this volume occurred. If this has no value, the last I/O access time is not known. + :type last_access_time_io: str + + :param slice_count: [required] The number of slices backing this volume. In the current software, this value will always be 1. + :type slice_count: int + + :param total_size: [required] Total size of this volume in bytes. + :type total_size: int + + :param block_size: [required] Size of the blocks on the volume. + :type block_size: int + + :param virtual_volume_id: Virtual volume ID this volume backs. + :type virtual_volume_id: UUID + + :param attributes: [required] List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""Unique VolumeID for the volume. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""Name of the volume as provided at creation time. """, + dictionaryType=None + ) + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""Unique AccountID for the account. """, + dictionaryType=None + ) + create_time = data_model.property( + "createTime", str, + array=False, optional=False, + documentation="""UTC formatted time the volume was created. """, + dictionaryType=None + ) + volume_consistency_group_uuid = data_model.property( + "volumeConsistencyGroupUUID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_uuid = data_model.property( + "volumeUUID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + enable_snap_mirror_replication = data_model.property( + "enableSnapMirrorReplication", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Current status of the volume init: A volume that is being initialized and is not ready for connections. active: An active volume ready for connections. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=False, optional=False, + documentation="""Access allowed for the volume readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. replicationTarget: Designated as a target volume in a replicated volume pair. """, + dictionaryType=None + ) + enable512e = data_model.property( + "enable512e", bool, + array=False, optional=False, + documentation="""If "true", the volume provides 512 byte sector emulation. """, + dictionaryType=None + ) + iqn = data_model.property( + "iqn", str, + array=False, optional=True, + documentation="""Volume iSCSI Qualified Name. """, + dictionaryType=None + ) + scsi_euidevice_id = data_model.property( + "scsiEUIDeviceID", str, + array=False, optional=False, + documentation="""Globally unique SCSI device identifier for the volume in EUI-64 based 16-byte format. """, + dictionaryType=None + ) + scsi_naadevice_id = data_model.property( + "scsiNAADeviceID", str, + array=False, optional=False, + documentation="""Globally unique SCSI device identifier for the volume in NAA IEEE Registered Extended format. """, + dictionaryType=None + ) + qos = data_model.property( + "qos", VolumeQOS, + array=False, optional=False, + documentation="""Quality of service settings for this volume. """, + dictionaryType=None + ) + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=True, + documentation="""The QoS policy ID associated with the volume. The value is null if the volume is not associated with a policy. """, + dictionaryType=None + ) + volume_access_groups = data_model.property( + "volumeAccessGroups", int, + array=True, optional=False, + documentation="""List of volume access groups to which a volume beintegers. """, + dictionaryType=None + ) + volume_pairs = data_model.property( + "volumePairs", VolumePair, + array=True, optional=False, + documentation="""Information about a paired volume. Available only if a volume is paired. @see VolumePairs for return values. """, + dictionaryType=None + ) + delete_time = data_model.property( + "deleteTime", str, + array=False, optional=True, + documentation="""The time this volume was deleted. If this has no value, the volume has not yet been deleted. """, + dictionaryType=None + ) + purge_time = data_model.property( + "purgeTime", str, + array=False, optional=True, + documentation="""The time this volume will be purged from the system. If this has no value, the volume has not yet been deleted (and is not scheduled for purging). """, + dictionaryType=None + ) + last_access_time = data_model.property( + "lastAccessTime", str, + array=False, optional=True, + documentation="""The last time any access to this volume occurred. If this has no value, the last access time is not known. """, + dictionaryType=None + ) + last_access_time_io = data_model.property( + "lastAccessTimeIO", str, + array=False, optional=True, + documentation="""The last time I/O access to this volume occurred. If this has no value, the last I/O access time is not known. """, + dictionaryType=None + ) + slice_count = data_model.property( + "sliceCount", int, + array=False, optional=False, + documentation="""The number of slices backing this volume. In the current software, this value will always be 1. """, + dictionaryType=None + ) + total_size = data_model.property( + "totalSize", int, + array=False, optional=False, + documentation="""Total size of this volume in bytes. """, + dictionaryType=None + ) + block_size = data_model.property( + "blockSize", int, + array=False, optional=False, + documentation="""Size of the blocks on the volume. """, + dictionaryType=None + ) + virtual_volume_id = data_model.property( + "virtualVolumeID", UUID, + array=False, optional=True, + documentation="""Virtual volume ID this volume backs. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + name, + account_id, + create_time, + volume_consistency_group_uuid, + volume_uuid, + enable_snap_mirror_replication, + status, + access, + enable512e, + scsi_euidevice_id, + scsi_naadevice_id, + qos, + volume_access_groups, + volume_pairs, + slice_count, + total_size, + block_size, + attributes, + iqn=None, + qos_policy_id=None, + delete_time=None, + purge_time=None, + last_access_time=None, + last_access_time_io=None, + virtual_volume_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CloneVolumeResult(data_model.DataObject): + """CloneVolumeResult + + :param volume: The resulting volume + :type volume: Volume + + :param clone_id: [required] The ID of the newly-created clone. + :type clone_id: int + + :param volume_id: [required] The volume ID of the newly-created clone. + :type volume_id: int + + :param async_handle: [required] Handle value used to track the progress of the clone. + :type async_handle: int + + """ + volume = data_model.property( + "volume", Volume, + array=False, optional=True, + documentation="""The resulting volume """, + dictionaryType=None + ) + clone_id = data_model.property( + "cloneID", int, + array=False, optional=False, + documentation="""The ID of the newly-created clone. """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The volume ID of the newly-created clone. """, + dictionaryType=None + ) + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation="""Handle value used to track the progress of the clone. """, + dictionaryType=None + ) + + def __init__(self, + clone_id, + volume_id, + async_handle, + volume=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeStatsRequest(data_model.DataObject): + """GetVolumeStatsRequest + GetVolumeStats enables you to retrieve high-level activity measurements for a single volume. Values are cumulative from the creation of the volume. + + :param volume_id: [required] Specifies the volume for which statistics are gathered. + :type volume_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""Specifies the volume for which statistics are gathered. """, + dictionaryType=None + ) + + def __init__(self, + volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class QoSPolicy(data_model.DataObject): + """QoSPolicy + The QoSPolicy object contains information about a QoS policy on the cluster. + + :param qos_policy_id: [required] A unique integer identifier for the QoSPolicy auto-assigned by the SolidFire cluster. + :type qos_policy_id: int + + :param name: [required] The name of the QoS policy. For example: gold, platinum, or silver. + :type name: str + + :param volume_ids: [required] A list of volumes associated with this policy. + :type volume_ids: int + + :param qos: [required] Quality of service settings for this volume. + :type qos: VolumeQOS + + """ + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=False, + documentation="""A unique integer identifier for the QoSPolicy auto-assigned by the SolidFire cluster. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name of the QoS policy. For example: gold, platinum, or silver. """, + dictionaryType=None + ) + volume_ids = data_model.property( + "volumeIDs", int, + array=True, optional=False, + documentation="""A list of volumes associated with this policy. """, + dictionaryType=None + ) + qos = data_model.property( + "qos", VolumeQOS, + array=False, optional=False, + documentation="""Quality of service settings for this volume. """, + dictionaryType=None + ) + + def __init__(self, + qos_policy_id, + name, + volume_ids, + qos): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetQoSPolicyResult(data_model.DataObject): + """GetQoSPolicyResult + + :param qos_policy: [required] Details of the requested QoS policy. + :type qos_policy: QoSPolicy + + """ + qos_policy = data_model.property( + "qosPolicy", QoSPolicy, + array=False, optional=False, + documentation="""Details of the requested QoS policy. """, + dictionaryType=None + ) + + def __init__(self, + qos_policy): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeAccessGroupLunAssignmentsRequest(data_model.DataObject): + """GetVolumeAccessGroupLunAssignmentsRequest + The GetVolumeAccessGroupLunAssignments + method enables you to retrieve details on LUN mappings + of a specified volume access group. + + :param volume_access_group_id: [required] The unique volume access group ID used to return information. + :type volume_access_group_id: int + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The unique volume access group ID used to return information. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsRequest(data_model.DataObject): + """ListVolumeStatsRequest + ListVolumeStats returns high-level activity measurements for a single volume, list of volumes, or all volumes (if you omit the volumeIDs parameter). Measurement values are cumulative from the creation of the volume. + + :param volume_ids: A list of volume IDs of volumes from which to retrieve activity information. + :type volume_ids: int + + """ + volume_ids = data_model.property( + "volumeIDs", int, + array=True, optional=True, + documentation="""A list of volume IDs of volumes from which to retrieve activity information. """, + dictionaryType=None + ) + + def __init__(self, + volume_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddAccountRequest(data_model.DataObject): + """AddAccountRequest + You can use AddAccount to add a new account to the system. You can create new volumes under the new account. The CHAP settings you specify for the account apply to all volumes owned by the account. + + :param username: [required] Specifies the username for this account. (Might be 1 to 64 characters in length). + :type username: str + + :param initiator_secret: The CHAP secret to use for the initiator. This secret must be 12-16 characters in length and should be impenetrable. The initiator CHAP secret must be unique and cannot be the same as the target CHAP secret. If unspecified, a random secret is created. + :type initiator_secret: CHAPSecret + + :param target_secret: The CHAP secret to use for the target (mutual CHAP authentication). This secret must be 12-16 characters in length and should be impenetrable. The target CHAP secret must be unique and cannot be the same as the initiator CHAP secret. If unspecified, a random secret is created. + :type target_secret: CHAPSecret + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + username = data_model.property( + "username", str, + array=False, optional=False, + documentation="""Specifies the username for this account. (Might be 1 to 64 characters in length). """, + dictionaryType=None + ) + initiator_secret = data_model.property( + "initiatorSecret", CHAPSecret, + array=False, optional=True, + documentation="""The CHAP secret to use for the initiator. This secret must be 12-16 characters in length and should be impenetrable. The initiator CHAP secret must be unique and cannot be the same as the target CHAP secret. If unspecified, a random secret is created. """, + dictionaryType=None + ) + target_secret = data_model.property( + "targetSecret", CHAPSecret, + array=False, optional=True, + documentation="""The CHAP secret to use for the target (mutual CHAP authentication). This secret must be 12-16 characters in length and should be impenetrable. The target CHAP secret must be unique and cannot be the same as the initiator CHAP secret. If unspecified, a random secret is created. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + username, + initiator_secret=None, + target_secret=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetAccountByNameRequest(data_model.DataObject): + """GetAccountByNameRequest + GetAccountByName enables you to retrieve details about a specific account, given its username. + + :param username: [required] Username for the account. + :type username: str + + """ + username = data_model.property( + "username", str, + array=False, optional=False, + documentation="""Username for the account. """, + dictionaryType=None + ) + + def __init__(self, + username): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByVolumeAccessGroupResult(data_model.DataObject): + """ListVolumeStatsByVolumeAccessGroupResult + + :param volume_stats: [required] List of account activity information. Note: The volumeID member is 0 for each entry, as the values represent the summation of all volumes owned by the account. + :type volume_stats: VolumeStats + + """ + volume_stats = data_model.property( + "volumeStats", VolumeStats, + array=True, optional=False, + documentation="""List of account activity information. Note: The volumeID member is 0 for each entry, as the values represent the summation of all volumes owned by the account. """, + dictionaryType=None + ) + + def __init__(self, + volume_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateBackupTargetResult(data_model.DataObject): + """CreateBackupTargetResult + + :param backup_target_id: [required] Unique identifier assigned to the backup target. + :type backup_target_id: int + + """ + backup_target_id = data_model.property( + "backupTargetID", int, + array=False, optional=False, + documentation="""Unique identifier assigned to the backup target. """, + dictionaryType=None + ) + + def __init__(self, + backup_target_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumeHostsRequest(data_model.DataObject): + """ListVirtualVolumeHostsRequest + ListVirtualVolumeHosts returns a list of all virtual volume hosts known to the cluster. A virtual volume host is a VMware ESX host + that has initiated a session with the VASA API provider. + + :param virtual_volume_host_ids: A list of virtual volume host IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume hosts. + :type virtual_volume_host_ids: UUID + + """ + virtual_volume_host_ids = data_model.property( + "virtualVolumeHostIDs", UUID, + array=True, optional=True, + documentation="""A list of virtual volume host IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume hosts. """, + dictionaryType=None + ) + + def __init__(self, + virtual_volume_host_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetNodeSSLCertificateResult(data_model.DataObject): + """SetNodeSSLCertificateResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveDrivesRequest(data_model.DataObject): + """RemoveDrivesRequest + You can use RemoveDrives to proactively remove drives that are part of the cluster. You might want to use this method when + reducing cluster capacity or preparing to replace drives nearing the end of their service life. Any data on the drives is removed and + migrated to other drives in the cluster before the drive is removed from the cluster. This is an asynchronous method. Depending on + the total capacity of the drives being removed, it might take several minutes to migrate all of the data. Use the GetAsyncResult + method to check the status of the remove operation. + When removing multiple drives, use a single RemoveDrives method call rather than multiple individual methods with a single drive + each. This reduces the amount of data balancing that must occur to even stabilize the storage load on the cluster. + You can also remove drives with a "failed" status using RemoveDrives. When you remove a drive with a "failed" status it is not + returned to an "available" or active status. The drive is unavailable for use in the cluster. + Use the ListDrives method to obtain the driveIDs for the drives you want to remove. + + :param drives: [required] List of driveIDs to remove from the cluster. + :type drives: int + + :param force_during_upgrade: If you want to remove a drive during upgrade, this must be set to true. + :type force_during_upgrade: bool + + """ + drives = data_model.property( + "drives", int, + array=True, optional=False, + documentation="""List of driveIDs to remove from the cluster. """, + dictionaryType=None + ) + force_during_upgrade = data_model.property( + "forceDuringUpgrade", bool, + array=False, optional=True, + documentation="""If you want to remove a drive during upgrade, this must be set to true. """, + dictionaryType=None + ) + + def __init__(self, + drives, + force_during_upgrade=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CancelCloneResult(data_model.DataObject): + """CancelCloneResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class LdapConfiguration(data_model.DataObject): + """LdapConfiguration + LDAP Configuration object returns information about the LDAP configuration on SolidFire storage. LDAP information is returned with the API method GetLdapConfiguration. + + :param auth_type: [required] Identifies which user authentcation method will be used. Valid values: DirectBind SearchAndBind + :type auth_type: str + + :param enabled: [required] Identifies whether or not the system is enabled for LDAP. Valid values: true false + :type enabled: bool + + :param group_search_base_dn: [required] The base DN of the tree to start the group search (will do a subtree search from here). + :type group_search_base_dn: str + + :param group_search_custom_filter: [required] The custom search filter used. + :type group_search_custom_filter: str + + :param group_search_type: [required] Controls the default group search filter used, can be one of the following: NoGroups: No group support. ActiveDirectory: Nested membership of all of a user's AD groups. MemberDN: MemberDN style groups (single-level). + :type group_search_type: str + + :param search_bind_dn: [required] A fully qualified DN to log in with to perform an LDAP search for the user (needs read access to the LDAP directory). + :type search_bind_dn: str + + :param server_uris: [required] A comma-separated list of LDAP server URIs (examples: "ldap://1.2.3.4" and ldaps://1.2.3.4:123") + :type server_uris: str + + :param user_dntemplate: [required] A string that is used to form a fully qualified user DN. + :type user_dntemplate: str + + :param user_search_base_dn: [required] The base DN of the tree used to start the search (will do a subtree search from here). + :type user_search_base_dn: str + + :param user_search_filter: [required] The LDAP filter used. + :type user_search_filter: str + + """ + auth_type = data_model.property( + "authType", str, + array=False, optional=False, + documentation="""Identifies which user authentcation method will be used. Valid values: DirectBind SearchAndBind """, + dictionaryType=None + ) + enabled = data_model.property( + "enabled", bool, + array=False, optional=False, + documentation="""Identifies whether or not the system is enabled for LDAP. Valid values: true false """, + dictionaryType=None + ) + group_search_base_dn = data_model.property( + "groupSearchBaseDN", str, + array=False, optional=False, + documentation="""The base DN of the tree to start the group search (will do a subtree search from here). """, + dictionaryType=None + ) + group_search_custom_filter = data_model.property( + "groupSearchCustomFilter", str, + array=False, optional=False, + documentation="""The custom search filter used. """, + dictionaryType=None + ) + group_search_type = data_model.property( + "groupSearchType", str, + array=False, optional=False, + documentation="""Controls the default group search filter used, can be one of the following: NoGroups: No group support. ActiveDirectory: Nested membership of all of a user's AD groups. MemberDN: MemberDN style groups (single-level). """, + dictionaryType=None + ) + search_bind_dn = data_model.property( + "searchBindDN", str, + array=False, optional=False, + documentation="""A fully qualified DN to log in with to perform an LDAP search for the user (needs read access to the LDAP directory). """, + dictionaryType=None + ) + server_uris = data_model.property( + "serverURIs", str, + array=True, optional=False, + documentation="""A comma-separated list of LDAP server URIs (examples: "ldap://1.2.3.4" and ldaps://1.2.3.4:123") """, + dictionaryType=None + ) + user_dntemplate = data_model.property( + "userDNTemplate", str, + array=False, optional=False, + documentation="""A string that is used to form a fully qualified user DN. """, + dictionaryType=None + ) + user_search_base_dn = data_model.property( + "userSearchBaseDN", str, + array=False, optional=False, + documentation="""The base DN of the tree used to start the search (will do a subtree search from here). """, + dictionaryType=None + ) + user_search_filter = data_model.property( + "userSearchFilter", str, + array=False, optional=False, + documentation="""The LDAP filter used. """, + dictionaryType=None + ) + + def __init__(self, + auth_type, + enabled, + group_search_base_dn, + group_search_custom_filter, + group_search_type, + search_bind_dn, + server_uris, + user_dntemplate, + user_search_base_dn, + user_search_filter): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestLdapAuthenticationRequest(data_model.DataObject): + """TestLdapAuthenticationRequest + The TestLdapAuthentication method enables you to validate the currently enabled LDAP authentication settings. If the configuration is + correct, the API call returns the group membership of the tested user. + + :param username: [required] The username to be tested. + :type username: str + + :param password: [required] The password for the username to be tested. + :type password: str + + :param ldap_configuration: An ldapConfiguration object to be tested. If specified, the API call tests the provided configuration even if LDAP authentication is disabled. + :type ldap_configuration: LdapConfiguration + + """ + username = data_model.property( + "username", str, + array=False, optional=False, + documentation="""The username to be tested. """, + dictionaryType=None + ) + password = data_model.property( + "password", str, + array=False, optional=False, + documentation="""The password for the username to be tested. """, + dictionaryType=None + ) + ldap_configuration = data_model.property( + "ldapConfiguration", LdapConfiguration, + array=False, optional=True, + documentation="""An ldapConfiguration object to be tested. If specified, the API call tests the provided configuration even if LDAP authentication is disabled. """, + dictionaryType=None + ) + + def __init__(self, + username, + password, + ldap_configuration=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DriveConfigInfo(data_model.DataObject): + """DriveConfigInfo + + :param canonical_name: [required] + :type canonical_name: str + + :param connected: [required] + :type connected: bool + + :param dev: [required] + :type dev: int + + :param dev_path: [required] + :type dev_path: str + + :param drive_type: [required] + :type drive_type: str + + :param product: [required] + :type product: str + + :param name: [required] + :type name: str + + :param path: [required] + :type path: str + + :param path_link: [required] + :type path_link: str + + :param scsi_compat_id: [required] + :type scsi_compat_id: str + + :param smart_ssd_write_capable: + :type smart_ssd_write_capable: bool + + :param security_enabled: [required] + :type security_enabled: bool + + :param security_frozen: [required] + :type security_frozen: bool + + :param security_locked: [required] + :type security_locked: bool + + :param security_supported: [required] + :type security_supported: bool + + :param size: [required] + :type size: int + + :param slot: [required] + :type slot: int + + :param uuid: [required] + :type uuid: UUID + + :param vendor: [required] + :type vendor: str + + :param version: [required] + :type version: str + + :param security_at_maximum: [required] + :type security_at_maximum: bool + + :param serial: [required] + :type serial: str + + :param scsi_state: [required] + :type scsi_state: str + + """ + canonical_name = data_model.property( + "canonicalName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + connected = data_model.property( + "connected", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + dev = data_model.property( + "dev", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + dev_path = data_model.property( + "devPath", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_type = data_model.property( + "driveType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + product = data_model.property( + "product", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + path = data_model.property( + "path", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + path_link = data_model.property( + "pathLink", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + scsi_compat_id = data_model.property( + "scsiCompatId", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + smart_ssd_write_capable = data_model.property( + "smartSsdWriteCapable", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + security_enabled = data_model.property( + "securityEnabled", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_frozen = data_model.property( + "securityFrozen", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_locked = data_model.property( + "securityLocked", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_supported = data_model.property( + "securitySupported", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + size = data_model.property( + "size", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + slot = data_model.property( + "slot", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + uuid = data_model.property( + "uuid", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + vendor = data_model.property( + "vendor", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + version = data_model.property( + "version", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_at_maximum = data_model.property( + "securityAtMaximum", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + serial = data_model.property( + "serial", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + scsi_state = data_model.property( + "scsiState", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + canonical_name, + connected, + dev, + dev_path, + drive_type, + product, + name, + path, + path_link, + scsi_compat_id, + security_enabled, + security_frozen, + security_locked, + security_supported, + size, + slot, + uuid, + vendor, + version, + security_at_maximum, + serial, + scsi_state, + smart_ssd_write_capable=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DrivesConfigInfo(data_model.DataObject): + """DrivesConfigInfo + + :param drives: [required] + :type drives: DriveConfigInfo + + :param num_block_actual: [required] + :type num_block_actual: int + + :param num_block_expected: [required] + :type num_block_expected: int + + :param num_slice_actual: [required] + :type num_slice_actual: int + + :param num_slice_expected: [required] + :type num_slice_expected: int + + :param num_total_actual: [required] + :type num_total_actual: int + + :param num_total_expected: [required] + :type num_total_expected: int + + """ + drives = data_model.property( + "drives", DriveConfigInfo, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + num_block_actual = data_model.property( + "numBlockActual", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + num_block_expected = data_model.property( + "numBlockExpected", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + num_slice_actual = data_model.property( + "numSliceActual", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + num_slice_expected = data_model.property( + "numSliceExpected", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + num_total_actual = data_model.property( + "numTotalActual", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + num_total_expected = data_model.property( + "numTotalExpected", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + drives, + num_block_actual, + num_block_expected, + num_slice_actual, + num_slice_expected, + num_total_actual, + num_total_expected): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetDriveConfigResult(data_model.DataObject): + """GetDriveConfigResult + + :param drive_config: [required] Configuration information for the drives that are connected to the cluster + :type drive_config: DrivesConfigInfo + + """ + drive_config = data_model.property( + "driveConfig", DrivesConfigInfo, + array=False, optional=False, + documentation="""Configuration information for the drives that are connected to the cluster """, + dictionaryType=None + ) + + def __init__(self, + drive_config): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNodeStatsRequest(data_model.DataObject): + """GetNodeStatsRequest + GetNodeStats enables you to retrieve the high-level activity measurements for a single node. + + :param node_id: [required] Specifies the node for which statistics are gathered. + :type node_id: int + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""Specifies the node for which statistics are gathered. """, + dictionaryType=None + ) + + def __init__(self, + node_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ResetDrivesRequest(data_model.DataObject): + """ResetDrivesRequest + ResetDrives enables you to proactively initialize drives and remove all data currently residing on a drive. The drive can then be reused + in an existing node or used in an upgraded node. This method requires the force parameter to be included in the method call. + + :param drives: [required] List of device names (not driveIDs) to reset. + :type drives: str + + :param force: [required] Required parameter to successfully reset a drive. + :type force: bool + + """ + drives = data_model.property( + "drives", str, + array=False, optional=False, + documentation="""List of device names (not driveIDs) to reset. """, + dictionaryType=None + ) + force = data_model.property( + "force", bool, + array=False, optional=False, + documentation="""Required parameter to successfully reset a drive. """, + dictionaryType=None + ) + + def __init__(self, + drives, + force): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EventInfo(data_model.DataObject): + """EventInfo + + :param event_id: [required] + :type event_id: int + + :param severity: [required] + :type severity: int + + :param event_info_type: [required] + :type event_info_type: str + + :param message: [required] + :type message: str + + :param service_id: [required] + :type service_id: int + + :param node_id: [required] + :type node_id: int + + :param drive_id: [required] + :type drive_id: int + + :param drive_ids: [required] + :type drive_ids: int + + :param time_of_report: [required] + :type time_of_report: str + + :param time_of_publish: [required] + :type time_of_publish: str + + :param details: + :type details: str + + """ + event_id = data_model.property( + "eventID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + severity = data_model.property( + "severity", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + event_info_type = data_model.property( + "eventInfoType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + message = data_model.property( + "message", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + service_id = data_model.property( + "serviceID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_ids = data_model.property( + "driveIDs", int, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + time_of_report = data_model.property( + "timeOfReport", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + time_of_publish = data_model.property( + "timeOfPublish", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + details = data_model.property( + "details", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + event_id, + severity, + event_info_type, + message, + service_id, + node_id, + drive_id, + drive_ids, + time_of_report, + time_of_publish, + details=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListEventsResult(data_model.DataObject): + """ListEventsResult + + :param event_queue_type: [required] + :type event_queue_type: str + + :param events: [required] + :type events: EventInfo + + """ + event_queue_type = data_model.property( + "eventQueueType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + events = data_model.property( + "events", EventInfo, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + event_queue_type, + events): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyBackupTargetRequest(data_model.DataObject): + """ModifyBackupTargetRequest + ModifyBackupTarget enables you to change attributes of a backup target. + + :param backup_target_id: [required] The unique target ID for the target to modify. + :type backup_target_id: int + + :param name: The new name for the backup target. + :type name: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + backup_target_id = data_model.property( + "backupTargetID", int, + array=False, optional=False, + documentation="""The unique target ID for the target to modify. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""The new name for the backup target. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + backup_target_id, + name=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PairedCluster(data_model.DataObject): + """PairedCluster + + :param cluster_name: [required] Name of the other cluster in the pair + :type cluster_name: str + + :param cluster_pair_id: [required] Unique ID given to each cluster in the pair. + :type cluster_pair_id: int + + :param cluster_pair_uuid: [required] Universally unique identifier. + :type cluster_pair_uuid: UUID + + :param latency: [required] Number, in milliseconds, of latency between clusters. + :type latency: int + + :param mvip: [required] IP of the management connection for paired clusters. + :type mvip: str + + :param status: [required] Can be one of the following: Connected Misconfigured Disconnected + :type status: str + + :param version: [required] The Element OS version of the other cluster in the pair. + :type version: str + + :param cluster_uuid: The cluster UUID + :type cluster_uuid: str + + """ + cluster_name = data_model.property( + "clusterName", str, + array=False, optional=False, + documentation="""Name of the other cluster in the pair """, + dictionaryType=None + ) + cluster_pair_id = data_model.property( + "clusterPairID", int, + array=False, optional=False, + documentation="""Unique ID given to each cluster in the pair. """, + dictionaryType=None + ) + cluster_pair_uuid = data_model.property( + "clusterPairUUID", UUID, + array=False, optional=False, + documentation="""Universally unique identifier. """, + dictionaryType=None + ) + latency = data_model.property( + "latency", int, + array=False, optional=False, + documentation="""Number, in milliseconds, of latency between clusters. """, + dictionaryType=None + ) + mvip = data_model.property( + "mvip", str, + array=False, optional=False, + documentation="""IP of the management connection for paired clusters. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Can be one of the following: Connected Misconfigured Disconnected """, + dictionaryType=None + ) + version = data_model.property( + "version", str, + array=False, optional=False, + documentation="""The Element OS version of the other cluster in the pair. """, + dictionaryType=None + ) + cluster_uuid = data_model.property( + "clusterUUID", str, + array=False, optional=True, + documentation="""The cluster UUID """, + dictionaryType=None + ) + + def __init__(self, + cluster_name, + cluster_pair_id, + cluster_pair_uuid, + latency, + mvip, + status, + version, + cluster_uuid=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListClusterPairsResult(data_model.DataObject): + """ListClusterPairsResult + + :param cluster_pairs: [required] Information about each paired cluster. + :type cluster_pairs: PairedCluster + + """ + cluster_pairs = data_model.property( + "clusterPairs", PairedCluster, + array=True, optional=False, + documentation="""Information about each paired cluster. """, + dictionaryType=None + ) + + def __init__(self, + cluster_pairs): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterVersionInfo(data_model.DataObject): + """ClusterVersionInfo + Version information for a node in the cluster. + + :param node_id: [required] + :type node_id: int + + :param node_version: [required] + :type node_version: str + + :param node_internal_revision: [required] + :type node_internal_revision: str + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_version = data_model.property( + "nodeVersion", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_internal_revision = data_model.property( + "nodeInternalRevision", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + node_id, + node_version, + node_internal_revision): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SoftwareVersionInfo(data_model.DataObject): + """SoftwareVersionInfo + + :param current_version: [required] + :type current_version: str + + :param node_id: [required] + :type node_id: int + + :param package_name: [required] + :type package_name: str + + :param pending_version: [required] + :type pending_version: str + + :param start_time: [required] + :type start_time: str + + """ + current_version = data_model.property( + "currentVersion", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + package_name = data_model.property( + "packageName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + pending_version = data_model.property( + "pendingVersion", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + start_time = data_model.property( + "startTime", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + current_version, + node_id, + package_name, + pending_version, + start_time): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterVersionInfoResult(data_model.DataObject): + """GetClusterVersionInfoResult + + :param cluster_apiversion: [required] + :type cluster_apiversion: str + + :param cluster_version: [required] + :type cluster_version: str + + :param cluster_version_info: [required] + :type cluster_version_info: ClusterVersionInfo + + :param software_version_info: [required] + :type software_version_info: SoftwareVersionInfo + + """ + cluster_apiversion = data_model.property( + "clusterAPIVersion", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cluster_version = data_model.property( + "clusterVersion", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cluster_version_info = data_model.property( + "clusterVersionInfo", ClusterVersionInfo, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + software_version_info = data_model.property( + "softwareVersionInfo", SoftwareVersionInfo, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster_apiversion, + cluster_version, + cluster_version_info, + software_version_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CopyVolumeRequest(data_model.DataObject): + """CopyVolumeRequest + CopyVolume enables you to overwrite the data contents of an existing volume with the data contents of another volume (or + snapshot). Attributes of the destination volume such as IQN, QoS settings, size, account, and volume access group membership are + not changed. The destination volume must already exist and must be the same size as the source volume. + NetApp strongly recommends that clients unmount the destination volume before the CopyVolume operation begins. If the + destination volume is modified during the copy operation, the changes will be lost. + This method is asynchronous and may take a variable amount of time to complete. You can use the GetAsyncResult method to + determine when the process has finished, and ListSyncJobs to see the progress of the copy. + + :param volume_id: [required] VolumeID of the volume to be read from. + :type volume_id: int + + :param dst_volume_id: [required] VolumeID of the volume to be overwritten. + :type dst_volume_id: int + + :param snapshot_id: ID of the snapshot that is used as the source of the clone. If no ID is provided, the current active volume is used. + :type snapshot_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""VolumeID of the volume to be read from. """, + dictionaryType=None + ) + dst_volume_id = data_model.property( + "dstVolumeID", int, + array=False, optional=False, + documentation="""VolumeID of the volume to be overwritten. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=True, + documentation="""ID of the snapshot that is used as the source of the clone. If no ID is provided, the current active volume is used. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + dst_volume_id, + snapshot_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateQoSPolicyResult(data_model.DataObject): + """CreateQoSPolicyResult + + :param qos_policy: [required] The newly created QoSPolicy object. + :type qos_policy: QoSPolicy + + """ + qos_policy = data_model.property( + "qosPolicy", QoSPolicy, + array=False, optional=False, + documentation="""The newly created QoSPolicy object. """, + dictionaryType=None + ) + + def __init__(self, + qos_policy): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NetworkInterface(data_model.DataObject): + """NetworkInterface + + :param address: [required] IP address of the network. + :type address: str + + :param broadcast: [required] Address of NTP broadcast. + :type broadcast: str + + :param mac_address: [required] Address used to configure the interface. + :type mac_address: str + + :param mtu: [required] Packet size on the network interface. + :type mtu: int + + :param name: [required] Name of the network interface. + :type name: str + + :param netmask: [required] Netmask for the network interface. + :type netmask: str + + :param status: [required] Status of the network. + :type status: str + + :param type: [required] The type of network, ie, BondMaster. + :type type: str + + :param virtual_network_tag: [required] Virtual Network Tag if on virtual network. + :type virtual_network_tag: int + + :param namespace: + :type namespace: bool + + """ + address = data_model.property( + "address", str, + array=False, optional=False, + documentation="""IP address of the network. """, + dictionaryType=None + ) + broadcast = data_model.property( + "broadcast", str, + array=False, optional=False, + documentation="""Address of NTP broadcast. """, + dictionaryType=None + ) + mac_address = data_model.property( + "macAddress", str, + array=False, optional=False, + documentation="""Address used to configure the interface. """, + dictionaryType=None + ) + mtu = data_model.property( + "mtu", int, + array=False, optional=False, + documentation="""Packet size on the network interface. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""Name of the network interface. """, + dictionaryType=None + ) + netmask = data_model.property( + "netmask", str, + array=False, optional=False, + documentation="""Netmask for the network interface. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Status of the network. """, + dictionaryType=None + ) + type = data_model.property( + "type", str, + array=False, optional=False, + documentation="""The type of network, ie, BondMaster. """, + dictionaryType=None + ) + virtual_network_tag = data_model.property( + "virtualNetworkTag", int, + array=False, optional=False, + documentation="""Virtual Network Tag if on virtual network. """, + dictionaryType=None + ) + namespace = data_model.property( + "namespace", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + address, + broadcast, + mac_address, + mtu, + name, + netmask, + status, + type, + virtual_network_tag, + namespace=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListNetworkInterfacesResult(data_model.DataObject): + """ListNetworkInterfacesResult + + :param interfaces: [required] + :type interfaces: NetworkInterface + + """ + interfaces = data_model.property( + "interfaces", NetworkInterface, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + interfaces): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateVolumeAccessGroupRequest(data_model.DataObject): + """CreateVolumeAccessGroupRequest + You can use CreateVolumeAccessGroup to create a new volume access group. When you create the volume access group, you need to give it a name, and you can optionally enter initiators and volumes. After you create the group, you can add volumes and initiator IQNs. Any initiator IQN that you add to the volume access group is able to access any volume in the group without CHAP authentication. + + :param name: [required] The name for this volume access group. Not required to be unique, but recommended. + :type name: str + + :param initiators: List of initiators to include in the volume access group. If unspecified, the access group's configured initiators are not modified. + :type initiators: str + + :param volumes: List of volumes to initially include in the volume access group. If unspecified, the access group's volumes are not modified. + :type volumes: int + + :param virtual_network_id: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtual_network_id: int + + :param virtual_network_tags: The ID of the SolidFire virtual network to associate the volume access group with. + :type virtual_network_tags: int + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name for this volume access group. Not required to be unique, but recommended. """, + dictionaryType=None + ) + initiators = data_model.property( + "initiators", str, + array=True, optional=True, + documentation="""List of initiators to include in the volume access group. If unspecified, the access group's configured initiators are not modified. """, + dictionaryType=None + ) + volumes = data_model.property( + "volumes", int, + array=True, optional=True, + documentation="""List of volumes to initially include in the volume access group. If unspecified, the access group's volumes are not modified. """, + dictionaryType=None + ) + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=True, optional=True, + documentation="""The ID of the SolidFire virtual network to associate the volume access group with. """, + dictionaryType=None + ) + virtual_network_tags = data_model.property( + "virtualNetworkTags", int, + array=True, optional=True, + documentation="""The ID of the SolidFire virtual network to associate the volume access group with. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + name, + initiators=None, + volumes=None, + virtual_network_id=None, + virtual_network_tags=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateSnapshotRequest(data_model.DataObject): + """CreateSnapshotRequest + CreateSnapshot enables you to create a point-in-time copy of a volume. You can create a snapshot from any volume or from an existing snapshot. If you do not provide a SnapshotID with this API method, a snapshot is created from the volume's active branch. + If the volume from which the snapshot is created is being replicated to a remote cluster, the snapshot can also be replicated to the same target. Use the enableRemoteReplication parameter to enable snapshot replication. + Note: Creating a snapshot is allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + + :param volume_id: [required] Specifies the unique ID of the volume image from which to copy. + :type volume_id: int + + :param snapshot_id: Specifies the unique ID of a snapshot from which the new snapshot is made. The snapshotID passed must be a snapshot on the given volume. + :type snapshot_id: int + + :param name: Specifies a name for the snapshot. If unspecified, the date and time the snapshot was taken is used. + :type name: str + + :param enable_remote_replication: Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. + :type enable_remote_replication: bool + + :param retention: Specifies the amount of time for which the snapshot is retained. The format is HH:mm:ss. + :type retention: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param snap_mirror_label: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snap_mirror_label: str + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""Specifies the unique ID of the volume image from which to copy. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=True, + documentation="""Specifies the unique ID of a snapshot from which the new snapshot is made. The snapshotID passed must be a snapshot on the given volume. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""Specifies a name for the snapshot. If unspecified, the date and time the snapshot was taken is used. """, + dictionaryType=None + ) + enable_remote_replication = data_model.property( + "enableRemoteReplication", bool, + array=False, optional=True, + documentation="""Replicates the snapshot created to a remote cluster. Possible values are: true: The snapshot is replicated to remote storage. false: Default. The snapshot is not replicated. """, + dictionaryType=None + ) + retention = data_model.property( + "retention", str, + array=False, optional=True, + documentation="""Specifies the amount of time for which the snapshot is retained. The format is HH:mm:ss. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + snap_mirror_label = data_model.property( + "snapMirrorLabel", str, + array=False, optional=True, + documentation="""Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + snapshot_id=None, + name=None, + enable_remote_replication=None, + retention=None, + attributes=None, + snap_mirror_label=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteVolumesRequest(data_model.DataObject): + """DeleteVolumesRequest + DeleteVolumes marks multiple (up to 500) active volumes for deletion. + Once marked, the volumes are purged (permanently deleted) after the cleanup interval elapses. + The cleanup interval can be set in the SetClusterSettings method. + For more information on using this method, see SetClusterSettings on page 1. + After making a request to delete volumes, any active iSCSI connections to the volumes are immediately terminated + and no further connections are allowed while the volumes are in this state. + A marked volume is not returned in target discovery requests. + Any snapshots of a volume that has been marked for deletion are not affected. + Snapshots are kept until the volume is purged from the system. + If a volume is marked for deletion and has a bulk volume read or bulk volume write operation in progress, + the bulk volume read or write operation is stopped. + If the volumes you delete are paired with a volume, replication between the paired volumes is suspended + and no data is transferred to them or from them while in a deleted state. + The remote volumes the deleted volumes were paired with enter into a PausedMisconfigured state + and data is no longer sent to them or from the deleted volumes. + Until the deleted volumes are purged, they can be restored and data transfers resume. + If the deleted volumes are purged from the system, the volumes they were paired with enter into a + StoppedMisconfigured state and the volume pairing status is removed. + The purged volumes become permanently unavailable. + + :param account_ids: A list of account IDs. All volumes from these accounts are deleted from the system. + :type account_ids: int + + :param volume_access_group_ids: A list of volume access group IDs. All of the volumes from all of the volume access groups you specify in this list are deleted from the system. + :type volume_access_group_ids: int + + :param volume_ids: The list of IDs of the volumes to delete from the system. + :type volume_ids: int + + """ + account_ids = data_model.property( + "accountIDs", int, + array=True, optional=True, + documentation="""A list of account IDs. All volumes from these accounts are deleted from the system. """, + dictionaryType=None + ) + volume_access_group_ids = data_model.property( + "volumeAccessGroupIDs", int, + array=True, optional=True, + documentation="""A list of volume access group IDs. All of the volumes from all of the volume access groups you specify in this list are deleted from the system. """, + dictionaryType=None + ) + volume_ids = data_model.property( + "volumeIDs", int, + array=True, optional=True, + documentation="""The list of IDs of the volumes to delete from the system. """, + dictionaryType=None + ) + + def __init__(self, + account_ids=None, + volume_access_group_ids=None, + volume_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CopyVolumeResult(data_model.DataObject): + """CopyVolumeResult + + :param clone_id: [required] + :type clone_id: int + + :param async_handle: [required] Handle value used to track the progress of the volume copy. + :type async_handle: int + + """ + clone_id = data_model.property( + "cloneID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation="""Handle value used to track the progress of the volume copy. """, + dictionaryType=None + ) + + def __init__(self, + clone_id, + async_handle): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RestartServicesRequest(data_model.DataObject): + """RestartServicesRequest + The RestartServices API method enables you to restart the services on a node. + Caution: This method causes temporary node services interruption. Exercise caution when using this method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param force: [required] Required parameter to successfully restart services on a node. + :type force: bool + + :param service: Service name to be restarted. + :type service: str + + :param action: Action to perform on the service (start, stop, restart). + :type action: str + + """ + force = data_model.property( + "force", bool, + array=False, optional=False, + documentation="""Required parameter to successfully restart services on a node. """, + dictionaryType=None + ) + service = data_model.property( + "service", str, + array=False, optional=True, + documentation="""Service name to be restarted. """, + dictionaryType=None + ) + action = data_model.property( + "action", str, + array=False, optional=True, + documentation="""Action to perform on the service (start, stop, restart). """, + dictionaryType=None + ) + + def __init__(self, + force, + service=None, + action=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetNodeSSLCertificateRequest(data_model.DataObject): + """SetNodeSSLCertificateRequest + You can use the SetNodeSSLCertificate method to set a user SSL certificate and private key for the management node. + + :param certificate: [required] The PEM-encoded text version of the certificate. + :type certificate: str + + :param private_key: [required] The PEM-encoded text version of the private key. + :type private_key: str + + """ + certificate = data_model.property( + "certificate", str, + array=False, optional=False, + documentation="""The PEM-encoded text version of the certificate. """, + dictionaryType=None + ) + private_key = data_model.property( + "privateKey", str, + array=False, optional=False, + documentation="""The PEM-encoded text version of the private key. """, + dictionaryType=None + ) + + def __init__(self, + certificate, + private_key): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteQoSPolicyResult(data_model.DataObject): + """DeleteQoSPolicyResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSSLCertificateRequest(data_model.DataObject): + """SetSSLCertificateRequest + You can use the SetSSLCertificate method to set a user SSL certificate and a private key for the cluster. + + :param certificate: [required] The PEM-encoded text version of the certificate. + :type certificate: str + + :param private_key: [required] The PEM-encoded text version of the private key. + :type private_key: str + + """ + certificate = data_model.property( + "certificate", str, + array=False, optional=False, + documentation="""The PEM-encoded text version of the certificate. """, + dictionaryType=None + ) + private_key = data_model.property( + "privateKey", str, + array=False, optional=False, + documentation="""The PEM-encoded text version of the private key. """, + dictionaryType=None + ) + + def __init__(self, + certificate, + private_key): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNvramInfoResult(data_model.DataObject): + """GetNvramInfoResult + + :param nvram_info: [required] Arrays of events and errors detected on the NVRAM card. + :type nvram_info: dict + + """ + nvram_info = data_model.property( + "nvramInfo", dict, + array=False, optional=False, + documentation="""Arrays of events and errors detected on the NVRAM card. """, + dictionaryType=None + ) + + def __init__(self, + nvram_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterMasterNodeIDResult(data_model.DataObject): + """GetClusterMasterNodeIDResult + + :param node_id: [required] ID of the master node. + :type node_id: int + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""ID of the master node. """, + dictionaryType=None + ) + + def __init__(self, + node_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListDriveHardwareRequest(data_model.DataObject): + """ListDriveHardwareRequest + ListDriveHardware returns all the drives connected to a node. Use this method on individual nodes to return drive hardware + information or use this method on the cluster master node MVIP to see information for all the drives on all nodes. + Note: The "securitySupported": true line of the method response does not imply that the drives are capable of + encryption; only that the security status can be queried. If you have a node type with a model number ending in "-NE", + commands to enable security features on these drives will fail. See the EnableEncryptionAtRest method for more information. + + :param force: [required] To run this command, the force parameter must be set to true. + :type force: bool + + """ + force = data_model.property( + "force", bool, + array=False, optional=False, + documentation="""To run this command, the force parameter must be set to true. """, + dictionaryType=None + ) + + def __init__(self, + force): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteVolumeResult(data_model.DataObject): + """DeleteVolumeResult + + :param volume: + :type volume: Volume + + """ + volume = data_model.property( + "volume", Volume, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + volume=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NodeWaitingToJoin(data_model.DataObject): + """NodeWaitingToJoin + + :param name: + :type name: str + + :param version: [required] + :type version: str + + :param node_id: + :type node_id: int + + :param pending_node_id: + :type pending_node_id: int + + :param mip: + :type mip: str + + :param cip: + :type cip: str + + :param sip: + :type sip: str + + :param compatible: [required] + :type compatible: bool + + :param chassis_type: + :type chassis_type: str + + :param hostname: + :type hostname: str + + :param node_type: + :type node_type: str + + """ + name = data_model.property( + "name", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + version = data_model.property( + "version", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + pending_node_id = data_model.property( + "pendingNodeID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mip = data_model.property( + "mip", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + cip = data_model.property( + "cip", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + sip = data_model.property( + "sip", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + compatible = data_model.property( + "compatible", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + chassis_type = data_model.property( + "chassisType", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + hostname = data_model.property( + "hostname", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + node_type = data_model.property( + "nodeType", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + version, + compatible, + name=None, + node_id=None, + pending_node_id=None, + mip=None, + cip=None, + sip=None, + chassis_type=None, + hostname=None, + node_type=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetBootstrapConfigResult(data_model.DataObject): + """GetBootstrapConfigResult + + :param cluster_name: [required] Name of the cluster. + :type cluster_name: str + + :param node_name: [required] Name of the node. + :type node_name: str + + :param nodes: [required] List of descriptions for each node that is actively waiting to join this cluster: compatible - Indicates if the listed node is compatible with the node the API call was executed against. name - IP address of each node. version - version of SolidFire Element software currently installed on the node. + :type nodes: NodeWaitingToJoin + + :param version: [required] Version of the SolidFire Element software currently installed. + :type version: str + + """ + cluster_name = data_model.property( + "clusterName", str, + array=False, optional=False, + documentation="""Name of the cluster. """, + dictionaryType=None + ) + node_name = data_model.property( + "nodeName", str, + array=False, optional=False, + documentation="""Name of the node. """, + dictionaryType=None + ) + nodes = data_model.property( + "nodes", NodeWaitingToJoin, + array=True, optional=False, + documentation="""List of descriptions for each node that is actively waiting to join this cluster: compatible - Indicates if the listed node is compatible with the node the API call was executed against. name - IP address of each node. version - version of SolidFire Element software currently installed on the node. """, + dictionaryType=None + ) + version = data_model.property( + "version", str, + array=False, optional=False, + documentation="""Version of the SolidFire Element software currently installed. """, + dictionaryType=None + ) + + def __init__(self, + cluster_name, + node_name, + nodes, + version): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListTestsResult(data_model.DataObject): + """ListTestsResult + + :param tests: [required] List of tests that can be performed on the node. + :type tests: str + + """ + tests = data_model.property( + "tests", str, + array=False, optional=False, + documentation="""List of tests that can be performed on the node. """, + dictionaryType=None + ) + + def __init__(self, + tests): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class LoggingServer(data_model.DataObject): + """LoggingServer + + :param host: [required] Hostname or IP address of the log server. + :type host: str + + :param port: [required] Port number that the log server is listening on. + :type port: int + + """ + host = data_model.property( + "host", str, + array=False, optional=False, + documentation="""Hostname or IP address of the log server. """, + dictionaryType=None + ) + port = data_model.property( + "port", int, + array=False, optional=False, + documentation="""Port number that the log server is listening on. """, + dictionaryType=None + ) + + def __init__(self, + host, + port): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetRemoteLoggingHostsRequest(data_model.DataObject): + """SetRemoteLoggingHostsRequest + SetRemoteLoggingHosts enables you to configure remote logging from the nodes in the storage cluster to a centralized log server or servers. Remote logging is performed over TCP using the default port 514. This API does not add to the existing logging hosts. Rather, it replaces what currently exists with new values specified by this API method. You can use GetRemoteLoggingHosts to determine what the current logging hosts are, and then use SetRemoteLoggingHosts to set the desired list of current and new logging hosts. + + :param remote_hosts: [required] A list of hosts to send log messages to. + :type remote_hosts: LoggingServer + + """ + remote_hosts = data_model.property( + "remoteHosts", LoggingServer, + array=True, optional=False, + documentation="""A list of hosts to send log messages to. """, + dictionaryType=None + ) + + def __init__(self, + remote_hosts): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetIpmiConfigNodesResult(data_model.DataObject): + """GetIpmiConfigNodesResult + + :param node_id: [required] + :type node_id: int + + :param result: [required] + :type result: dict + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + result = data_model.property( + "result", dict, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + node_id, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetIpmiConfigResult(data_model.DataObject): + """GetIpmiConfigResult + + :param nodes: [required] + :type nodes: GetIpmiConfigNodesResult + + """ + nodes = data_model.property( + "nodes", GetIpmiConfigNodesResult, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetScheduleRequest(data_model.DataObject): + """GetScheduleRequest + You can use the GetSchedule method to retrieve information about a scheduled snapshot. You can see information about a specific + schedule if there are many snapshot schedules in the system. You also retrieve information about more than one schedule with this + method by specifying additional scheduleIDs in the parameter. + + :param schedule_id: [required] Specifies the unique ID of the schedule or multiple schedules to display. + :type schedule_id: int + + """ + schedule_id = data_model.property( + "scheduleID", int, + array=False, optional=False, + documentation="""Specifies the unique ID of the schedule or multiple schedules to display. """, + dictionaryType=None + ) + + def __init__(self, + schedule_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class LoginBanner(data_model.DataObject): + """LoginBanner + + :param banner: [required] The current text of the Terms of Use banner. This value can contain text even when the banner is disabled. + :type banner: str + + :param enabled: [required] The status of the Terms of Use banner. Possible values: true: The Terms of Use banner is displayed upon web interface login. false: The Terms of Use banner is not displayed upon web interface login. + :type enabled: bool + + """ + banner = data_model.property( + "banner", str, + array=False, optional=False, + documentation="""The current text of the Terms of Use banner. This value can contain text even when the banner is disabled. """, + dictionaryType=None + ) + enabled = data_model.property( + "enabled", bool, + array=False, optional=False, + documentation="""The status of the Terms of Use banner. Possible values: true: The Terms of Use banner is displayed upon web interface login. false: The Terms of Use banner is not displayed upon web interface login. """, + dictionaryType=None + ) + + def __init__(self, + banner, + enabled): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetLoginBannerResult(data_model.DataObject): + """GetLoginBannerResult + + :param login_banner: [required] + :type login_banner: LoginBanner + + """ + login_banner = data_model.property( + "loginBanner", LoginBanner, + array=False, optional=False, + documentation="""""", + dictionaryType=None + ) + + def __init__(self, + login_banner): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddLdapClusterAdminResult(data_model.DataObject): + """AddLdapClusterAdminResult + + :param cluster_admin_id: + :type cluster_admin_id: int + + """ + cluster_admin_id = data_model.property( + "clusterAdminID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster_admin_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddedNode(data_model.DataObject): + """AddedNode + + :param node_id: + :type node_id: int + + :param pending_node_id: [required] + :type pending_node_id: int + + :param active_node_key: + :type active_node_key: str + + :param assigned_node_id: + :type assigned_node_id: int + + :param async_handle: + :type async_handle: int + + :param cip: + :type cip: str + + :param mip: + :type mip: str + + :param platform_info: + :type platform_info: Platform + + :param sip: + :type sip: str + + :param software_version: + :type software_version: str + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + pending_node_id = data_model.property( + "pendingNodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + active_node_key = data_model.property( + "activeNodeKey", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + assigned_node_id = data_model.property( + "assignedNodeID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + cip = data_model.property( + "cip", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mip = data_model.property( + "mip", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + platform_info = data_model.property( + "platformInfo", Platform, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + sip = data_model.property( + "sip", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + software_version = data_model.property( + "softwareVersion", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + pending_node_id, + node_id=None, + active_node_key=None, + assigned_node_id=None, + async_handle=None, + cip=None, + mip=None, + platform_info=None, + sip=None, + software_version=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddNodesResult(data_model.DataObject): + """AddNodesResult + + :param auto_install: + :type auto_install: bool + + :param nodes: [required] An array of objects mapping the previous "pendingNodeID" to the "nodeID". + :type nodes: AddedNode + + """ + auto_install = data_model.property( + "autoInstall", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + nodes = data_model.property( + "nodes", AddedNode, + array=True, optional=False, + documentation="""An array of objects mapping the previous "pendingNodeID" to the "nodeID". """, + dictionaryType=None + ) + + def __init__(self, + nodes, + auto_install=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SnmpTrapRecipient(data_model.DataObject): + """SnmpTrapRecipient + Host that is to receive the traps generated by the cluster. + + :param host: [required] The IP address or host name of the target network management station. + :type host: str + + :param community: [required] SNMP community string. + :type community: str + + :param port: [required] The UDP port number on the host where the trap is to be sent. Valid range is 1 - 65535. 0 (zero) is not a valid port number. Default is 162. + :type port: int + + """ + host = data_model.property( + "host", str, + array=False, optional=False, + documentation="""The IP address or host name of the target network management station. """, + dictionaryType=None + ) + community = data_model.property( + "community", str, + array=False, optional=False, + documentation="""SNMP community string. """, + dictionaryType=None + ) + port = data_model.property( + "port", int, + array=False, optional=False, + documentation="""The UDP port number on the host where the trap is to be sent. Valid range is 1 - 65535. 0 (zero) is not a valid port number. Default is 162. """, + dictionaryType=None + ) + + def __init__(self, + host, + community, + port): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddClusterAdminResult(data_model.DataObject): + """AddClusterAdminResult + + :param cluster_admin_id: [required] ClusterAdminID for the newly created Cluster Admin. + :type cluster_admin_id: int + + """ + cluster_admin_id = data_model.property( + "clusterAdminID", int, + array=False, optional=False, + documentation="""ClusterAdminID for the newly created Cluster Admin. """, + dictionaryType=None + ) + + def __init__(self, + cluster_admin_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CompleteClusterPairingRequest(data_model.DataObject): + """CompleteClusterPairingRequest + You can use the CompleteClusterPairing method with the encoded key received from the StartClusterPairing method to complete the cluster pairing process. The CompleteClusterPairing method is the second step in the cluster pairing process. + + :param cluster_pairing_key: [required] A string of characters that is returned from the "StartClusterPairing" API method. + :type cluster_pairing_key: str + + """ + cluster_pairing_key = data_model.property( + "clusterPairingKey", str, + array=False, optional=False, + documentation="""A string of characters that is returned from the "StartClusterPairing" API method. """, + dictionaryType=None + ) + + def __init__(self, + cluster_pairing_key): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DriveHardwareInfo(data_model.DataObject): + """DriveHardwareInfo + + :param description: [required] + :type description: str + + :param dev: [required] + :type dev: str + + :param devpath: [required] + :type devpath: str + + :param drive_security_at_maximum: [required] + :type drive_security_at_maximum: bool + + :param drive_security_frozen: [required] + :type drive_security_frozen: bool + + :param drive_security_locked: [required] + :type drive_security_locked: bool + + :param logicalname: [required] + :type logicalname: str + + :param product: [required] + :type product: str + + :param scsi_compat_id: [required] + :type scsi_compat_id: str + + :param security_feature_enabled: [required] + :type security_feature_enabled: bool + + :param security_feature_supported: [required] + :type security_feature_supported: bool + + :param serial: [required] + :type serial: str + + :param size: [required] + :type size: int + + :param uuid: [required] + :type uuid: UUID + + :param version: [required] + :type version: str + + """ + description = data_model.property( + "description", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + dev = data_model.property( + "dev", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + devpath = data_model.property( + "devpath", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_security_at_maximum = data_model.property( + "driveSecurityAtMaximum", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_security_frozen = data_model.property( + "driveSecurityFrozen", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_security_locked = data_model.property( + "driveSecurityLocked", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + logicalname = data_model.property( + "logicalname", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + product = data_model.property( + "product", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + scsi_compat_id = data_model.property( + "scsiCompatID", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_feature_enabled = data_model.property( + "securityFeatureEnabled", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_feature_supported = data_model.property( + "securityFeatureSupported", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + serial = data_model.property( + "serial", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + size = data_model.property( + "size", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + uuid = data_model.property( + "uuid", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + version = data_model.property( + "version", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + description, + dev, + devpath, + drive_security_at_maximum, + drive_security_frozen, + drive_security_locked, + logicalname, + product, + scsi_compat_id, + security_feature_enabled, + security_feature_supported, + serial, + size, + uuid, + version): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetDriveHardwareInfoResult(data_model.DataObject): + """GetDriveHardwareInfoResult + + :param drive_hardware_info: [required] + :type drive_hardware_info: DriveHardwareInfo + + """ + drive_hardware_info = data_model.property( + "driveHardwareInfo", DriveHardwareInfo, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + drive_hardware_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class QoS(data_model.DataObject): + """QoS + Quality of Service (QoS) values are used on SolidFire volumes to provision performance expectations. + Minimum, maximum and burst QoS values can be set within the ranges specified in the QoS table below. + + Volumes created without specified QoS values are created with the Default values listed below. + Default values can be found by running the GetDefaultQoS method. + + minIOPS Min: 100/50 (v7.0/v8.0), Default: 100, Max: 15,000 + maxIOPS Min: 100/50 (v7.0/v8.0), Default: 15,000, Max: 100,000 + burstIOPS Min: 100/50 (v7.0/v8.0), Default: 15,000, Max: 100,000 + + :param min_iops: Desired minimum 4KB IOPS to guarantee. The allowed IOPS will only drop below this level if all volumes have been capped at their minimum IOPS value and there is still insufficient performance capacity. + :type min_iops: int + + :param max_iops: Desired maximum 4KB IOPS allowed over an extended period of time. + :type max_iops: int + + :param burst_iops: Maximum "peak" 4KB IOPS allowed for short periods of time. Allows for bursts of I/O activity over the normal max IOPS value. + :type burst_iops: int + + :param burst_time: The length of time burst IOPS is allowed. The value returned is represented in time units of seconds. Note: this value is calculated by the system based on IOPS set for QoS. + :type burst_time: int + + :param curve: The curve is a set of key-value pairs. The keys are I/O sizes in bytes. The values represent the cost performing an IOP at a specific I/O size. The curve is calculated relative to a 4096 byte operation set at 100 IOPS. + :type curve: dict + + """ + min_iops = data_model.property( + "minIOPS", int, + array=False, optional=True, + documentation="""Desired minimum 4KB IOPS to guarantee. The allowed IOPS will only drop below this level if all volumes have been capped at their minimum IOPS value and there is still insufficient performance capacity. """, + dictionaryType=None + ) + max_iops = data_model.property( + "maxIOPS", int, + array=False, optional=True, + documentation="""Desired maximum 4KB IOPS allowed over an extended period of time. """, + dictionaryType=None + ) + burst_iops = data_model.property( + "burstIOPS", int, + array=False, optional=True, + documentation="""Maximum "peak" 4KB IOPS allowed for short periods of time. Allows for bursts of I/O activity over the normal max IOPS value. """, + dictionaryType=None + ) + burst_time = data_model.property( + "burstTime", int, + array=False, optional=True, + documentation="""The length of time burst IOPS is allowed. The value returned is represented in time units of seconds. Note: this value is calculated by the system based on IOPS set for QoS. """, + dictionaryType=None + ) + curve = data_model.property( + "curve", dict, + array=False, optional=True, + documentation="""The curve is a set of key-value pairs. The keys are I/O sizes in bytes. The values represent the cost performing an IOP at a specific I/O size. The curve is calculated relative to a 4096 byte operation set at 100 IOPS. """, + dictionaryType=None + ) + + def __init__(self, + min_iops=None, + max_iops=None, + burst_iops=None, + burst_time=None, + curve=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateQoSPolicyRequest(data_model.DataObject): + """CreateQoSPolicyRequest + You can use the CreateQoSPolicy method to create a QoSPolicy object that you can later apply to a volume upon creation or modification. A QoS policy has a unique ID, a name, and QoS settings. + + :param name: [required] The name of the QoS policy; for example, gold, platinum, or silver. + :type name: str + + :param qos: [required] The QoS settings that this policy represents. + :type qos: QoS + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name of the QoS policy; for example, gold, platinum, or silver. """, + dictionaryType=None + ) + qos = data_model.property( + "qos", QoS, + array=False, optional=False, + documentation="""The QoS settings that this policy represents. """, + dictionaryType=None + ) + + def __init__(self, + name, + qos): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteInitiatorsRequest(data_model.DataObject): + """DeleteInitiatorsRequest + DeleteInitiators enables you to delete one or more initiators from the system (and from any associated volumes or volume access + groups). + If DeleteInitiators fails to delete one of the initiators provided in the parameter, the system returns an error and does not delete any + initiators (no partial completion is possible). + + :param initiators: [required] An array of IDs of initiators to delete. + :type initiators: int + + """ + initiators = data_model.property( + "initiators", int, + array=True, optional=False, + documentation="""An array of IDs of initiators to delete. """, + dictionaryType=None + ) + + def __init__(self, + initiators): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSnmpTrapInfoRequest(data_model.DataObject): + """SetSnmpTrapInfoRequest + You can use SetSnmpTrapInfo to enable and disable the generation of cluster SNMP notifications (traps) and to specify the set of network host computers that receive the notifications. The values you pass with each SetSnmpTrapInfo method call replace all values set in any previous call to SetSnmpTrapInfo. + + :param trap_recipients: [required] List of hosts that are to receive the traps generated by the Cluster Master. At least one object is required if any one of the trap types is enabled. + :type trap_recipients: SnmpTrapRecipient + + :param cluster_fault_traps_enabled: [required] If the value is set to true, a corresponding solidFireClusterFaultNotification is sent to the configured list of trap recipients when a cluster fault is logged. The default value is false. + :type cluster_fault_traps_enabled: bool + + :param cluster_fault_resolved_traps_enabled: [required] If the value is set to true, a corresponding solidFireClusterFaultResolvedNotification is sent to the configured list of trap recipients when a cluster fault is resolved. The default value is false. + :type cluster_fault_resolved_traps_enabled: bool + + :param cluster_event_traps_enabled: [required] If the value is set to true, a corresponding solidFireClusterEventNotification is sent to the configured list of trap recipients when a cluster event is logged. The default value is false. + :type cluster_event_traps_enabled: bool + + """ + trap_recipients = data_model.property( + "trapRecipients", SnmpTrapRecipient, + array=True, optional=False, + documentation="""List of hosts that are to receive the traps generated by the Cluster Master. At least one object is required if any one of the trap types is enabled. """, + dictionaryType=None + ) + cluster_fault_traps_enabled = data_model.property( + "clusterFaultTrapsEnabled", bool, + array=False, optional=False, + documentation="""If the value is set to true, a corresponding solidFireClusterFaultNotification is sent to the configured list of trap recipients when a cluster fault is logged. The default value is false. """, + dictionaryType=None + ) + cluster_fault_resolved_traps_enabled = data_model.property( + "clusterFaultResolvedTrapsEnabled", bool, + array=False, optional=False, + documentation="""If the value is set to true, a corresponding solidFireClusterFaultResolvedNotification is sent to the configured list of trap recipients when a cluster fault is resolved. The default value is false. """, + dictionaryType=None + ) + cluster_event_traps_enabled = data_model.property( + "clusterEventTrapsEnabled", bool, + array=False, optional=False, + documentation="""If the value is set to true, a corresponding solidFireClusterEventNotification is sent to the configured list of trap recipients when a cluster event is logged. The default value is false. """, + dictionaryType=None + ) + + def __init__(self, + trap_recipients, + cluster_fault_traps_enabled, + cluster_fault_resolved_traps_enabled, + cluster_event_traps_enabled): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveVirtualNetworkRequest(data_model.DataObject): + """RemoveVirtualNetworkRequest + RemoveVirtualNetwork enables you to remove a previously added virtual network. + Note: This method requires either the virtualNetworkID or the virtualNetworkTag as a parameter, but not both. + + :param virtual_network_id: Network ID that identifies the virtual network to remove. + :type virtual_network_id: int + + :param virtual_network_tag: Network tag that identifies the virtual network to remove. + :type virtual_network_tag: int + + """ + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=False, optional=True, + documentation="""Network ID that identifies the virtual network to remove. """, + dictionaryType=None + ) + virtual_network_tag = data_model.property( + "virtualNetworkTag", int, + array=False, optional=True, + documentation="""Network tag that identifies the virtual network to remove. """, + dictionaryType=None + ) + + def __init__(self, + virtual_network_id=None, + virtual_network_tag=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsResult(data_model.DataObject): + """ListVolumeStatsResult + + :param volume_stats: [required] List of volume activity information. + :type volume_stats: VolumeStats + + """ + volume_stats = data_model.property( + "volumeStats", VolumeStats, + array=True, optional=False, + documentation="""List of volume activity information. """, + dictionaryType=None + ) + + def __init__(self, + volume_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetClusterConfigResult(data_model.DataObject): + """SetClusterConfigResult + + :param cluster: [required] Settings for the cluster. All new and current settings are returned. + :type cluster: ClusterConfig + + """ + cluster = data_model.property( + "cluster", ClusterConfig, + array=False, optional=False, + documentation="""Settings for the cluster. All new and current settings are returned. """, + dictionaryType=None + ) + + def __init__(self, + cluster): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CancelGroupCloneRequest(data_model.DataObject): + """CancelGroupCloneRequest + CancelGroupClone enables you to stop an ongoing CloneMultipleVolumes process occurring on a group of volumes. When you cancel + a group clone operation, the system completes and removes the operation's associated asyncHandle. + + :param group_clone_id: [required] The cloneID for the ongoing clone process. + :type group_clone_id: int + + """ + group_clone_id = data_model.property( + "groupCloneID", int, + array=False, optional=False, + documentation="""The cloneID for the ongoing clone process. """, + dictionaryType=None + ) + + def __init__(self, + group_clone_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListActiveVolumesRequest(data_model.DataObject): + """ListActiveVolumesRequest + ListActiveVolumes enables you to return the list of active volumes currently in the system. The list of volumes is returned sorted in + VolumeID order and can be returned in multiple parts (pages). + + :param start_volume_id: Starting VolumeID to return. If no volume exists with this VolumeID, the next volume by VolumeID order is used as the start of the list. To page through the list, pass the VolumeID of the last volume in the previous response + 1. + :type start_volume_id: int + + :param limit: Maximum number of Volume Info objects to return. A value of 0 (zero) returns all volumes (unlimited). + :type limit: int + + :param include_virtual_volumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type include_virtual_volumes: bool + + """ + start_volume_id = data_model.property( + "startVolumeID", int, + array=False, optional=True, + documentation="""Starting VolumeID to return. If no volume exists with this VolumeID, the next volume by VolumeID order is used as the start of the list. To page through the list, pass the VolumeID of the last volume in the previous response + 1. """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""Maximum number of Volume Info objects to return. A value of 0 (zero) returns all volumes (unlimited). """, + dictionaryType=None + ) + include_virtual_volumes = data_model.property( + "includeVirtualVolumes", bool, + array=False, optional=True, + documentation="""Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. """, + dictionaryType=None + ) + + def __init__(self, + start_volume_id=None, + limit=None, + include_virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateScheduleRequest(data_model.DataObject): + """CreateScheduleRequest + CreateSchedule enables you to schedule an automatic snapshot of a volume at a defined interval. + You can use the created snapshot later as a backup or rollback to ensure the data on a volume or group of volumes is consistent for + the point in time in which the snapshot was created. + If you schedule a snapshot to run at a time period that is not divisible by 5 minutes, the snapshot runs at the next time period + that is divisible by 5 minutes. For example, if you schedule a snapshot to run at 12:42:00 UTC, it runs at 12:45:00 UTC. + Note: You can create snapshots if cluster fullness is at stage 1, 2 or 3. You cannot create snapshots after cluster fullness reaches stage 4 or 5. + + :param schedule: [required] The "Schedule" object will be used to create a new schedule. Do not set ScheduleID property, it will be ignored. Frequency property must be of type that inherits from Frequency. Valid types are: DaysOfMonthFrequency DaysOrWeekFrequency TimeIntervalFrequency + :type schedule: Schedule + + """ + schedule = data_model.property( + "schedule", Schedule, + array=False, optional=False, + documentation="""The "Schedule" object will be used to create a new schedule. Do not set ScheduleID property, it will be ignored. Frequency property must be of type that inherits from Frequency. Valid types are: DaysOfMonthFrequency DaysOrWeekFrequency TimeIntervalFrequency """, + dictionaryType=None + ) + + def __init__(self, + schedule): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteAllSupportBundlesResult(data_model.DataObject): + """DeleteAllSupportBundlesResult + + :param duration: [required] + :type duration: str + + :param details: [required] + :type details: dict + + :param result: [required] + :type result: str + + """ + duration = data_model.property( + "duration", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + details = data_model.property( + "details", dict, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + duration, + details, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetDriveHardwareInfoRequest(data_model.DataObject): + """GetDriveHardwareInfoRequest + GetDriveHardwareInfo returns all the hardware information for the given drive. This generally includes details about manufacturers, vendors, versions, and + other associated hardware identification information. + + :param drive_id: [required] DriveID for the drive information requested. You can get DriveIDs by using the ListDrives method. + :type drive_id: int + + """ + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation="""DriveID for the drive information requested. You can get DriveIDs by using the ListDrives method. """, + dictionaryType=None + ) + + def __init__(self, + drive_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StorageContainer(data_model.DataObject): + """StorageContainer + + :param name: [required] + :type name: str + + :param storage_container_id: [required] + :type storage_container_id: UUID + + :param account_id: [required] + :type account_id: int + + :param protocol_endpoint_type: [required] + :type protocol_endpoint_type: str + + :param initiator_secret: [required] + :type initiator_secret: str + + :param target_secret: [required] + :type target_secret: str + + :param status: [required] + :type status: str + + :param virtual_volumes: + :type virtual_volumes: UUID + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + storage_container_id = data_model.property( + "storageContainerID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + protocol_endpoint_type = data_model.property( + "protocolEndpointType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_secret = data_model.property( + "initiatorSecret", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + target_secret = data_model.property( + "targetSecret", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + virtual_volumes = data_model.property( + "virtualVolumes", UUID, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + name, + storage_container_id, + account_id, + protocol_endpoint_type, + initiator_secret, + target_secret, + status, + virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyStorageContainerResult(data_model.DataObject): + """ModifyStorageContainerResult + + :param storage_container: [required] + :type storage_container: StorageContainer + + """ + storage_container = data_model.property( + "storageContainer", StorageContainer, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + storage_container): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class InvokeSFApiRequest(data_model.DataObject): + """InvokeSFApiRequest + This will invoke any API method supported by the SolidFire API for the version and port the connection is using. + Returns a nested hashtable of key/value pairs that contain the result of the invoked method. + + :param method: [required] The name of the method to invoke. This is case sensitive. + :type method: str + + :param parameters: An object, normally a dictionary or hashtable of the key/value pairs, to be passed as the params for the method being invoked. + :type parameters: str + + """ + method = data_model.property( + "method", str, + array=False, optional=False, + documentation="""The name of the method to invoke. This is case sensitive. """, + dictionaryType=None + ) + parameters = data_model.property( + "parameters", str, + array=False, optional=True, + documentation="""An object, normally a dictionary or hashtable of the key/value pairs, to be passed as the params for the method being invoked. """, + dictionaryType=None + ) + + def __init__(self, + method, + parameters=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveNodesResult(data_model.DataObject): + """RemoveNodesResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveAccountResult(data_model.DataObject): + """RemoveAccountResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeCountResult(data_model.DataObject): + """GetVolumeCountResult + + :param count: [required] The number of volumes currently in the system. + :type count: int + + """ + count = data_model.property( + "count", int, + array=False, optional=False, + documentation="""The number of volumes currently in the system. """, + dictionaryType=None + ) + + def __init__(self, + count): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetStorageContainerEfficiencyRequest(data_model.DataObject): + """GetStorageContainerEfficiencyRequest + GetStorageContainerEfficiency enables you to retrieve efficiency information about a virtual volume storage container. + + :param storage_container_id: [required] The ID of the storage container for which to retrieve efficiency information. + :type storage_container_id: UUID + + """ + storage_container_id = data_model.property( + "storageContainerID", UUID, + array=False, optional=False, + documentation="""The ID of the storage container for which to retrieve efficiency information. """, + dictionaryType=None + ) + + def __init__(self, + storage_container_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Initiator(data_model.DataObject): + """Initiator + Object containing characteristics of each initiator + + :param alias: [required] The friendly name assigned to this initiator. (String) + :type alias: str + + :param initiator_id: [required] The numeric ID of the initiator that has been created. (Integer) + :type initiator_id: int + + :param initiator_name: [required] The name of the initiator that has been created. (String) + :type initiator_name: str + + :param volume_access_groups: [required] A list of volumeAccessGroupIDs to which this initiator beintegers. (Array of Integers) + :type volume_access_groups: int + + :param attributes: [required] A set of JSON attributes assigned to this initiator. (JSON Object) + :type attributes: dict + + """ + alias = data_model.property( + "alias", str, + array=False, optional=False, + documentation="""The friendly name assigned to this initiator. (String) """, + dictionaryType=None + ) + initiator_id = data_model.property( + "initiatorID", int, + array=False, optional=False, + documentation="""The numeric ID of the initiator that has been created. (Integer) """, + dictionaryType=None + ) + initiator_name = data_model.property( + "initiatorName", str, + array=False, optional=False, + documentation="""The name of the initiator that has been created. (String) """, + dictionaryType=None + ) + volume_access_groups = data_model.property( + "volumeAccessGroups", int, + array=True, optional=False, + documentation="""A list of volumeAccessGroupIDs to which this initiator beintegers. (Array of Integers) """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""A set of JSON attributes assigned to this initiator. (JSON Object) """, + dictionaryType=None + ) + + def __init__(self, + alias, + initiator_id, + initiator_name, + volume_access_groups, + attributes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ISCSISession(data_model.DataObject): + """ISCSISession + + :param drive_ids: + :type drive_ids: int + + :param account_id: [required] + :type account_id: int + + :param initiator: + :type initiator: Initiator + + :param account_name: [required] + :type account_name: str + + :param drive_id: [required] + :type drive_id: int + + :param initiator_ip: [required] + :type initiator_ip: str + + :param initiator_port_name: [required] + :type initiator_port_name: str + + :param target_port_name: [required] + :type target_port_name: str + + :param initiator_name: [required] + :type initiator_name: str + + :param node_id: [required] + :type node_id: int + + :param service_id: [required] + :type service_id: int + + :param session_id: [required] + :type session_id: int + + :param target_name: [required] + :type target_name: str + + :param target_ip: [required] + :type target_ip: str + + :param virtual_network_id: [required] + :type virtual_network_id: int + + :param volume_id: [required] + :type volume_id: int + + :param create_time: [required] + :type create_time: str + + :param volume_instance: [required] + :type volume_instance: int + + :param initiator_session_id: [required] + :type initiator_session_id: int + + :param ms_since_last_scsi_command: + :type ms_since_last_scsi_command: int + + :param ms_since_last_iscsi_pdu: + :type ms_since_last_iscsi_pdu: int + + """ + drive_ids = data_model.property( + "driveIDs", int, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator = data_model.property( + "initiator", Initiator, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + account_name = data_model.property( + "accountName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_ip = data_model.property( + "initiatorIP", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_port_name = data_model.property( + "initiatorPortName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + target_port_name = data_model.property( + "targetPortName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_name = data_model.property( + "initiatorName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + service_id = data_model.property( + "serviceID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + session_id = data_model.property( + "sessionID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + target_name = data_model.property( + "targetName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + target_ip = data_model.property( + "targetIP", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + create_time = data_model.property( + "createTime", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_instance = data_model.property( + "volumeInstance", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_session_id = data_model.property( + "initiatorSessionID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + ms_since_last_scsi_command = data_model.property( + "msSinceLastScsiCommand", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + ms_since_last_iscsi_pdu = data_model.property( + "msSinceLastIscsiPDU", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + account_id, + account_name, + drive_id, + initiator_ip, + initiator_port_name, + target_port_name, + initiator_name, + node_id, + service_id, + session_id, + target_name, + target_ip, + virtual_network_id, + volume_id, + create_time, + volume_instance, + initiator_session_id, + drive_ids=None, + initiator=None, + ms_since_last_scsi_command=None, + ms_since_last_iscsi_pdu=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListISCSISessionsResult(data_model.DataObject): + """ListISCSISessionsResult + + :param sessions: [required] + :type sessions: ISCSISession + + """ + sessions = data_model.property( + "sessions", ISCSISession, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + sessions): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumesRequest(data_model.DataObject): + """ListVirtualVolumesRequest + ListVirtualVolumes enables you to list the virtual volumes currently in the system. You can use this method to list all virtual volumes, + or only list a subset. + + :param details: Specifies the level of detail about each virtual volume that is returned. Possible values are: true: Include more details about each virtual volume in the response. false: Include the standard level of detail about each virtual volume in the response. + :type details: bool + + :param limit: The maximum number of virtual volumes to list. + :type limit: int + + :param recursive: Specifies whether to include information about the children of each virtual volume in the response. Possible values are: true: Include information about the children of each virtual volume in the response. false: Do not include information about the children of each virtual volume in the response. + :type recursive: bool + + :param start_virtual_volume_id: The ID of the virtual volume at which to begin the list. + :type start_virtual_volume_id: UUID + + :param virtual_volume_ids: A list of virtual volume IDs for which to retrieve information. If you specify this parameter, the method returns information about only these virtual volumes. + :type virtual_volume_ids: UUID + + """ + details = data_model.property( + "details", bool, + array=False, optional=True, + documentation="""Specifies the level of detail about each virtual volume that is returned. Possible values are: true: Include more details about each virtual volume in the response. false: Include the standard level of detail about each virtual volume in the response. """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""The maximum number of virtual volumes to list. """, + dictionaryType=None + ) + recursive = data_model.property( + "recursive", bool, + array=False, optional=True, + documentation="""Specifies whether to include information about the children of each virtual volume in the response. Possible values are: true: Include information about the children of each virtual volume in the response. false: Do not include information about the children of each virtual volume in the response. """, + dictionaryType=None + ) + start_virtual_volume_id = data_model.property( + "startVirtualVolumeID", UUID, + array=False, optional=True, + documentation="""The ID of the virtual volume at which to begin the list. """, + dictionaryType=None + ) + virtual_volume_ids = data_model.property( + "virtualVolumeIDs", UUID, + array=True, optional=True, + documentation="""A list of virtual volume IDs for which to retrieve information. If you specify this parameter, the method returns information about only these virtual volumes. """, + dictionaryType=None + ) + + def __init__(self, + details=None, + limit=None, + recursive=None, + start_virtual_volume_id=None, + virtual_volume_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CompleteVolumePairingResult(data_model.DataObject): + """CompleteVolumePairingResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListDeletedVolumesRequest(data_model.DataObject): + """ListDeletedVolumesRequest + ListDeletedVolumes enables you to retrieve the list of volumes that have been marked for deletion and purged from the system. + + :param include_virtual_volumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type include_virtual_volumes: bool + + """ + include_virtual_volumes = data_model.property( + "includeVirtualVolumes", bool, + array=False, optional=True, + documentation="""Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. """, + dictionaryType=None + ) + + def __init__(self, + include_virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListStorageContainersResult(data_model.DataObject): + """ListStorageContainersResult + + :param storage_containers: [required] + :type storage_containers: StorageContainer + + """ + storage_containers = data_model.property( + "storageContainers", StorageContainer, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + storage_containers): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetLdapConfigurationResult(data_model.DataObject): + """GetLdapConfigurationResult + + :param ldap_configuration: [required] List of the current LDAP configuration settings. This API call will not return the plain text of the search account password. Note: If LDAP authentication is currently disabled, all the returned settings will be empty with the exception of "authType", and "groupSearchType" which are set to "SearchAndBind" and "ActiveDirectory" respectively. + :type ldap_configuration: LdapConfiguration + + """ + ldap_configuration = data_model.property( + "ldapConfiguration", LdapConfiguration, + array=False, optional=False, + documentation="""List of the current LDAP configuration settings. This API call will not return the plain text of the search account password. Note: If LDAP authentication is currently disabled, all the returned settings will be empty with the exception of "authType", and "groupSearchType" which are set to "SearchAndBind" and "ActiveDirectory" respectively. """, + dictionaryType=None + ) + + def __init__(self, + ldap_configuration): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GroupSnapshotMembers(data_model.DataObject): + """GroupSnapshotMembers + List of checksum, volumeIDs and snapshotIDs for each member of the group. + + :param volume_id: [required] The source volume ID for the snapshot. + :type volume_id: int + + :param snapshot_id: [required] Unique ID of a snapshot from which the new snapshot is made. The snapshotID passed must be a snapshot on the given volume. + :type snapshot_id: int + + :param snapshot_uuid: [required] Universal Unique ID of an existing snapshot. + :type snapshot_uuid: UUID + + :param checksum: [required] A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. + :type checksum: str + + :param attributes: + :type attributes: dict + + :param create_time: + :type create_time: str + + :param enable_remote_replication: + :type enable_remote_replication: bool + + :param expiration_reason: + :type expiration_reason: str + + :param expiration_time: + :type expiration_time: str + + :param group_id: + :type group_id: int + + :param group_snapshot_uuid: + :type group_snapshot_uuid: UUID + + :param name: + :type name: str + + :param remote_status: + :type remote_status: str + + :param remote_statuses: + :type remote_statuses: dict + + :param status: + :type status: str + + :param total_size: + :type total_size: int + + :param virtual_volume_id: + :type virtual_volume_id: int + + :param volume_pair_uuid: + :type volume_pair_uuid: UUID + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The source volume ID for the snapshot. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation="""Unique ID of a snapshot from which the new snapshot is made. The snapshotID passed must be a snapshot on the given volume. """, + dictionaryType=None + ) + snapshot_uuid = data_model.property( + "snapshotUUID", UUID, + array=False, optional=False, + documentation="""Universal Unique ID of an existing snapshot. """, + dictionaryType=None + ) + checksum = data_model.property( + "checksum", str, + array=False, optional=False, + documentation="""A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + create_time = data_model.property( + "createTime", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + enable_remote_replication = data_model.property( + "enableRemoteReplication", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + expiration_reason = data_model.property( + "expirationReason", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + expiration_time = data_model.property( + "expirationTime", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + group_id = data_model.property( + "groupID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + group_snapshot_uuid = data_model.property( + "groupSnapshotUUID", UUID, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + remote_status = data_model.property( + "remoteStatus", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + remote_statuses = data_model.property( + "remoteStatuses", dict, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + total_size = data_model.property( + "totalSize", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + virtual_volume_id = data_model.property( + "virtualVolumeID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + volume_pair_uuid = data_model.property( + "volumePairUUID", UUID, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + snapshot_id, + snapshot_uuid, + checksum, + attributes=None, + create_time=None, + enable_remote_replication=None, + expiration_reason=None, + expiration_time=None, + group_id=None, + group_snapshot_uuid=None, + name=None, + remote_status=None, + remote_statuses=None, + status=None, + total_size=None, + virtual_volume_id=None, + volume_pair_uuid=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GroupSnapshot(data_model.DataObject): + """GroupSnapshot + Group Snapshot object represents a point-in-time copy of a group of volumes. + + :param group_snapshot_id: [required] Unique ID of the new group snapshot. + :type group_snapshot_id: int + + :param group_snapshot_uuid: [required] UUID of the group snapshot. + :type group_snapshot_uuid: UUID + + :param members: [required] List of volumeIDs and snapshotIDs for each member of the group. + :type members: GroupSnapshotMembers + + :param name: [required] Name of the group snapshot, or, if none was given, the UTC formatted day and time on which the snapshot was created. + :type name: str + + :param create_time: [required] The UTC formatted day and time on which the snapshot was created. + :type create_time: str + + :param status: [required] Status of the snapshot. Possible values: Preparing: A snapshot that is being prepared for use and is not yet writable. Done: A snapshot that has finished being prepared and is now usable + :type status: str + + :param attributes: [required] List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=False, + documentation="""Unique ID of the new group snapshot. """, + dictionaryType=None + ) + group_snapshot_uuid = data_model.property( + "groupSnapshotUUID", UUID, + array=False, optional=False, + documentation="""UUID of the group snapshot. """, + dictionaryType=None + ) + members = data_model.property( + "members", GroupSnapshotMembers, + array=True, optional=False, + documentation="""List of volumeIDs and snapshotIDs for each member of the group. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""Name of the group snapshot, or, if none was given, the UTC formatted day and time on which the snapshot was created. """, + dictionaryType=None + ) + create_time = data_model.property( + "createTime", str, + array=False, optional=False, + documentation="""The UTC formatted day and time on which the snapshot was created. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Status of the snapshot. Possible values: Preparing: A snapshot that is being prepared for use and is not yet writable. Done: A snapshot that has finished being prepared and is now usable """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + group_snapshot_id, + group_snapshot_uuid, + members, + name, + create_time, + status, + attributes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyGroupSnapshotResult(data_model.DataObject): + """ModifyGroupSnapshotResult + + :param group_snapshot: [required] + :type group_snapshot: GroupSnapshot + + """ + group_snapshot = data_model.property( + "groupSnapshot", GroupSnapshot, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + group_snapshot): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListDriveStatsRequest(data_model.DataObject): + """ListDriveStatsRequest + ListDriveStats enables you to retrieve high-level activity measurements for multiple drives in the cluster. By default, this method returns statistics for all drives in the cluster, and these measurements are cumulative from the addition of the drive to the cluster. Some values this method returns are specific to block drives, and some are specific to metadata drives. + + :param drives: Optional list of DriveIDs for which to return drive statistics. If you omit this parameter, measurements for all drives are returned. + :type drives: int + + """ + drives = data_model.property( + "drives", int, + array=True, optional=True, + documentation="""Optional list of DriveIDs for which to return drive statistics. If you omit this parameter, measurements for all drives are returned. """, + dictionaryType=None + ) + + def __init__(self, + drives=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListInitiatorsRequest(data_model.DataObject): + """ListInitiatorsRequest + ListInitiators enables you to list initiator IQNs or World Wide Port Names (WWPNs). + + :param start_initiator_id: The initiator ID at which to begin the listing. You can supply this parameter or the "initiators" parameter, but not both. + :type start_initiator_id: int + + :param limit: The maximum number of initiator objects to return. + :type limit: int + + :param initiators: A list of initiator IDs to retrieve. You can provide a value for this parameter or the "startInitiatorID" parameter, but not both. + :type initiators: int + + """ + start_initiator_id = data_model.property( + "startInitiatorID", int, + array=False, optional=True, + documentation="""The initiator ID at which to begin the listing. You can supply this parameter or the "initiators" parameter, but not both. """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""The maximum number of initiator objects to return. """, + dictionaryType=None + ) + initiators = data_model.property( + "initiators", int, + array=True, optional=True, + documentation="""A list of initiator IDs to retrieve. You can provide a value for this parameter or the "startInitiatorID" parameter, but not both. """, + dictionaryType=None + ) + + def __init__(self, + start_initiator_id=None, + limit=None, + initiators=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListInitiatorsResult(data_model.DataObject): + """ListInitiatorsResult + + :param initiators: [required] List of the initiator information. + :type initiators: Initiator + + """ + initiators = data_model.property( + "initiators", Initiator, + array=True, optional=False, + documentation="""List of the initiator information. """, + dictionaryType=None + ) + + def __init__(self, + initiators): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddressBlock(data_model.DataObject): + """AddressBlock + Unique Range of IP addresses to include in the virtual network. + + :param start: [required] Start of the IP address range. + :type start: str + + :param size: [required] Number of IP addresses to include in the block. + :type size: int + + :param available: [required] Nuber of available blocks + :type available: str + + """ + start = data_model.property( + "start", str, + array=False, optional=False, + documentation="""Start of the IP address range. """, + dictionaryType=None + ) + size = data_model.property( + "size", int, + array=False, optional=False, + documentation="""Number of IP addresses to include in the block. """, + dictionaryType=None + ) + available = data_model.property( + "available", str, + array=False, optional=False, + documentation="""Nuber of available blocks """, + dictionaryType=None + ) + + def __init__(self, + start, + size, + available): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VirtualNetwork(data_model.DataObject): + """VirtualNetwork + + :param virtual_network_id: [required] SolidFire unique identifier for a virtual network. + :type virtual_network_id: int + + :param virtual_network_tag: [required] VLAN Tag identifier. + :type virtual_network_tag: int + + :param address_blocks: [required] Range of address blocks currently assigned to the virtual network. available: Binary string in "1"s and "0"s. 1 equals the IP is available and 0 equals the IP is not available. The string is read from right to left with the digit to the far right being the first IP address in the list of addressBlocks. size: the size of this block of addresses. start: first IP address in the block. + :type address_blocks: AddressBlock + + :param name: [required] The name assigned to the virtual network. + :type name: str + + :param netmask: [required] IP address of the netmask for the virtual network. + :type netmask: str + + :param svip: [required] Storage IP address for the virtual network. + :type svip: str + + :param gateway: + :type gateway: str + + :param namespace: + :type namespace: bool + + :param attributes: List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=False, optional=False, + documentation="""SolidFire unique identifier for a virtual network. """, + dictionaryType=None + ) + virtual_network_tag = data_model.property( + "virtualNetworkTag", int, + array=False, optional=False, + documentation="""VLAN Tag identifier. """, + dictionaryType=None + ) + address_blocks = data_model.property( + "addressBlocks", AddressBlock, + array=True, optional=False, + documentation="""Range of address blocks currently assigned to the virtual network. available: Binary string in "1"s and "0"s. 1 equals the IP is available and 0 equals the IP is not available. The string is read from right to left with the digit to the far right being the first IP address in the list of addressBlocks. size: the size of this block of addresses. start: first IP address in the block. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name assigned to the virtual network. """, + dictionaryType=None + ) + netmask = data_model.property( + "netmask", str, + array=False, optional=False, + documentation="""IP address of the netmask for the virtual network. """, + dictionaryType=None + ) + svip = data_model.property( + "svip", str, + array=False, optional=False, + documentation="""Storage IP address for the virtual network. """, + dictionaryType=None + ) + gateway = data_model.property( + "gateway", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + namespace = data_model.property( + "namespace", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + virtual_network_id, + virtual_network_tag, + address_blocks, + name, + netmask, + svip, + gateway=None, + namespace=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualNetworksResult(data_model.DataObject): + """ListVirtualNetworksResult + + :param virtual_networks: [required] Object containing virtual network IP addresses. + :type virtual_networks: VirtualNetwork + + """ + virtual_networks = data_model.property( + "virtualNetworks", VirtualNetwork, + array=True, optional=False, + documentation="""Object containing virtual network IP addresses. """, + dictionaryType=None + ) + + def __init__(self, + virtual_networks): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListQoSPoliciesResult(data_model.DataObject): + """ListQoSPoliciesResult + + :param qos_policies: [required] A list of details about each QoS policy. + :type qos_policies: QoSPolicy + + """ + qos_policies = data_model.property( + "qosPolicies", QoSPolicy, + array=True, optional=False, + documentation="""A list of details about each QoS policy. """, + dictionaryType=None + ) + + def __init__(self, + qos_policies): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StartVolumePairingRequest(data_model.DataObject): + """StartVolumePairingRequest + StartVolumePairing enables you to create an encoded key from a volume that is used to pair with another volume. The key that this + method creates is used in the CompleteVolumePairing API method to establish a volume pairing. + + :param volume_id: [required] The ID of the volume on which to start the pairing process. + :type volume_id: int + + :param mode: The mode of the volume on which to start the pairing process. The mode can only be set if the volume is the source volume. Possible values are: Async: (default if no mode parameter specified) Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: Source acknowledges write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster will be replicated. Active writes from the source volume are not replicated. + :type mode: str + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume on which to start the pairing process. """, + dictionaryType=None + ) + mode = data_model.property( + "mode", str, + array=False, optional=True, + documentation="""The mode of the volume on which to start the pairing process. The mode can only be set if the volume is the source volume. Possible values are: Async: (default if no mode parameter specified) Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: Source acknowledges write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster will be replicated. Active writes from the source volume are not replicated. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + mode=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DisableSnmpResult(data_model.DataObject): + """DisableSnmpResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetNetworkConfigResult(data_model.DataObject): + """SetNetworkConfigResult + + :param network: [required] + :type network: Network + + """ + network = data_model.property( + "network", Network, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + network): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddressBlockParams(data_model.DataObject): + """AddressBlockParams + Unique Range of IP addresses to include in the virtual network. + + :param start: [required] Start of the IP address range. + :type start: str + + :param size: [required] Number of IP addresses to include in the block. + :type size: int + + """ + start = data_model.property( + "start", str, + array=False, optional=False, + documentation="""Start of the IP address range. """, + dictionaryType=None + ) + size = data_model.property( + "size", int, + array=False, optional=False, + documentation="""Number of IP addresses to include in the block. """, + dictionaryType=None + ) + + def __init__(self, + start, + size): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddVirtualNetworkRequest(data_model.DataObject): + """AddVirtualNetworkRequest + You can use the AddVirtualNetwork method to add a new virtual network to a cluster configuration. When you add a virtual network, + an interface for each node is created and each interface will require a virtual network IP address. The number of IP addresses you + specify as a parameter for this API method must be equal to or greater than the number of nodes in the cluster. The system bulk + provisions virtual network addresses and assigns them to individual nodes automatically. You do not need to assign virtual + network addresses to nodes manually. + Note: You can use AddVirtualNetwork only to create a new virtual network. If you want to make changes to an + existing virtual network, use ModifyVirtualNetwork. + Note: Virtual network parameters must be unique to each virtual network when setting the namespace parameter to false. + + :param virtual_network_tag: [required] A unique virtual network (VLAN) tag. Supported values are 1 through 4094.The number zero (0) is not supported. + :type virtual_network_tag: int + + :param name: [required] A user-defined name for the new virtual network. + :type name: str + + :param address_blocks: [required] Unique range of IP addresses to include in the virtual network. Attributes for this parameter are: start: The start of the IP address range. (String) size: The number of IP addresses to include in the block. (Integer) + :type address_blocks: AddressBlockParams + + :param netmask: [required] Unique network mask for the virtual network being created. + :type netmask: str + + :param svip: [required] Unique storage IP address for the virtual network being created. + :type svip: str + + :param gateway: The IP address of a gateway of the virtual network. This parameter is only valid if the "namespace" parameter is set to true. + :type gateway: str + + :param namespace: When set to true, enables the Routable Storage VLANs functionality by creating and configuring a namespace and the virtual network contained by it. + :type namespace: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + virtual_network_tag = data_model.property( + "virtualNetworkTag", int, + array=False, optional=False, + documentation="""A unique virtual network (VLAN) tag. Supported values are 1 through 4094.The number zero (0) is not supported. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""A user-defined name for the new virtual network. """, + dictionaryType=None + ) + address_blocks = data_model.property( + "addressBlocks", AddressBlockParams, + array=True, optional=False, + documentation="""Unique range of IP addresses to include in the virtual network. Attributes for this parameter are: start: The start of the IP address range. (String) size: The number of IP addresses to include in the block. (Integer) """, + dictionaryType=None + ) + netmask = data_model.property( + "netmask", str, + array=False, optional=False, + documentation="""Unique network mask for the virtual network being created. """, + dictionaryType=None + ) + svip = data_model.property( + "svip", str, + array=False, optional=False, + documentation="""Unique storage IP address for the virtual network being created. """, + dictionaryType=None + ) + gateway = data_model.property( + "gateway", str, + array=False, optional=True, + documentation="""The IP address of a gateway of the virtual network. This parameter is only valid if the "namespace" parameter is set to true. """, + dictionaryType=None + ) + namespace = data_model.property( + "namespace", bool, + array=False, optional=True, + documentation="""When set to true, enables the Routable Storage VLANs functionality by creating and configuring a namespace and the virtual network contained by it. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + virtual_network_tag, + name, + address_blocks, + netmask, + svip, + gateway=None, + namespace=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListClusterFaultsRequest(data_model.DataObject): + """ListClusterFaultsRequest + ListClusterFaults enables you to retrieve information about any faults detected on the cluster. With this method, you can retrieve both current faults as well as faults that have been resolved. The system caches faults every 30 seconds. + + :param best_practices: Specifies whether to include faults triggered by suboptimal system configuration. Possible values are: true false + :type best_practices: bool + + :param fault_types: Determines the types of faults returned. Possible values are: current: List active, unresolved faults. resolved: List faults that were previously detected and resolved. all: (Default) List both current and resolved faults. You can see the fault status in the resolved field of the Cluster Fault object. + :type fault_types: str + + """ + best_practices = data_model.property( + "bestPractices", bool, + array=False, optional=True, + documentation="""Specifies whether to include faults triggered by suboptimal system configuration. Possible values are: true false """, + dictionaryType=None + ) + fault_types = data_model.property( + "faultTypes", str, + array=False, optional=True, + documentation="""Determines the types of faults returned. Possible values are: current: List active, unresolved faults. resolved: List faults that were previously detected and resolved. all: (Default) List both current and resolved faults. You can see the fault status in the resolved field of the Cluster Fault object. """, + dictionaryType=None + ) + + def __init__(self, + best_practices=None, + fault_types=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestPingResult(data_model.DataObject): + """TestPingResult + + :param result: [required] Result of the ping test. + :type result: str + + :param duration: [required] The total duration of the ping test. + :type duration: str + + :param details: [required] List of each IP the node was able to communicate with. + :type details: dict + + """ + result = data_model.property( + "result", str, + array=False, optional=False, + documentation="""Result of the ping test. """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=False, + documentation="""The total duration of the ping test. """, + dictionaryType=None + ) + details = data_model.property( + "details", dict, + array=False, optional=False, + documentation="""List of each IP the node was able to communicate with. """, + dictionaryType=None + ) + + def __init__(self, + result, + duration, + details): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class BackupTarget(data_model.DataObject): + """BackupTarget + The object containing information about a backup target. + + :param name: [required] Name for the backup target. + :type name: str + + :param backup_target_id: [required] Unique identifier assigned to the backup target. + :type backup_target_id: int + + :param attributes: List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""Name for the backup target. """, + dictionaryType=None + ) + backup_target_id = data_model.property( + "backupTargetID", int, + array=False, optional=False, + documentation="""Unique identifier assigned to the backup target. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + name, + backup_target_id, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetBackupTargetResult(data_model.DataObject): + """GetBackupTargetResult + + :param backup_target: [required] Object returned for backup target. + :type backup_target: BackupTarget + + """ + backup_target = data_model.property( + "backupTarget", BackupTarget, + array=False, optional=False, + documentation="""Object returned for backup target. """, + dictionaryType=None + ) + + def __init__(self, + backup_target): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddDrivesResult(data_model.DataObject): + """AddDrivesResult + + :param async_handle: + :type async_handle: int + + """ + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + async_handle=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByVirtualVolumeRequest(data_model.DataObject): + """ListVolumeStatsByVirtualVolumeRequest + ListVolumeStatsByVirtualVolume enables you to list volume statistics for any volumes in the system that are associated with virtual volumes. Statistics are cumulative from the creation of the volume. + + :param virtual_volume_ids: A list of one or more virtual volume IDs for which to retrieve information. If you specify this parameter, the method returns information about only these virtual volumes. + :type virtual_volume_ids: UUID + + """ + virtual_volume_ids = data_model.property( + "virtualVolumeIDs", UUID, + array=True, optional=True, + documentation="""A list of one or more virtual volume IDs for which to retrieve information. If you specify this parameter, the method returns information about only these virtual volumes. """, + dictionaryType=None + ) + + def __init__(self, + virtual_volume_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetConfigResult(data_model.DataObject): + """SetConfigResult + + :param config: [required] The new and current configuration for the node. + :type config: Config + + """ + config = data_model.property( + "config", Config, + array=False, optional=False, + documentation="""The new and current configuration for the node. """, + dictionaryType=None + ) + + def __init__(self, + config): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StartBulkVolumeWriteRequest(data_model.DataObject): + """StartBulkVolumeWriteRequest + StartBulkVolumeWrite enables you to initialize a bulk volume write session on a specified volume. Only two bulk volume processes can run simultaneously on a volume. When you initialize the write session, data is written to a SolidFire storage volume from an external backup source. The external data is accessed by a web server running on an SF-series node. Communications and server + interaction information for external data access is passed by a script running on the storage system. + + :param volume_id: [required] The ID of the volume to be written to. + :type volume_id: int + + :param format: [required] The format of the volume data. It can be either of the following formats: uncompressed: Every byte of the volume is returned without any compression. native: Opaque data is returned that is smaller and more efficiently stored and written on a subsequent bulk volume write. + :type format: str + + :param script: The executable name of a script. If unspecified, the key and URL are necessary to access SF-series nodes. The script runs on the primary node and the key and URL is returned to the script, so the local web server can be contacted. + :type script: str + + :param script_parameters: JSON parameters to pass to the script. + :type script_parameters: dict + + :param attributes: JSON attributes for the bulk volume job. + :type attributes: dict + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume to be written to. """, + dictionaryType=None + ) + format = data_model.property( + "format", str, + array=False, optional=False, + documentation="""The format of the volume data. It can be either of the following formats: uncompressed: Every byte of the volume is returned without any compression. native: Opaque data is returned that is smaller and more efficiently stored and written on a subsequent bulk volume write. """, + dictionaryType=None + ) + script = data_model.property( + "script", str, + array=False, optional=True, + documentation="""The executable name of a script. If unspecified, the key and URL are necessary to access SF-series nodes. The script runs on the primary node and the key and URL is returned to the script, so the local web server can be contacted. """, + dictionaryType=None + ) + script_parameters = data_model.property( + "scriptParameters", dict, + array=False, optional=True, + documentation="""JSON parameters to pass to the script. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""JSON attributes for the bulk volume job. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + format, + script=None, + script_parameters=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumeResult(data_model.DataObject): + """ModifyVolumeResult + + :param volume: Object containing information about the newly modified volume. + :type volume: Volume + + """ + volume = data_model.property( + "volume", Volume, + array=False, optional=True, + documentation="""Object containing information about the newly modified volume. """, + dictionaryType=None + ) + + def __init__(self, + volume=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PurgeDeletedVolumeResult(data_model.DataObject): + """PurgeDeletedVolumeResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SnapshotRemoteStatus(data_model.DataObject): + """SnapshotRemoteStatus + + :param remote_status: [required] + :type remote_status: str + + :param volume_pair_uuid: [required] The snapshot is done and is writable (the active branch of the slice). + :type volume_pair_uuid: UUID + + """ + remote_status = data_model.property( + "remoteStatus", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_pair_uuid = data_model.property( + "volumePairUUID", UUID, + array=False, optional=False, + documentation="""The snapshot is done and is writable (the active branch of the slice). """, + dictionaryType=None + ) + + def __init__(self, + remote_status, + volume_pair_uuid): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Snapshot(data_model.DataObject): + """Snapshot + Snapshots is an object containing information about each snapshot made for a volume. + The return object includes information for the active snapshot as well as each snapshot created for the volume. + + :param snapshot_id: [required] Unique ID for this snapshot. + :type snapshot_id: int + + :param volume_id: [required] The volume this snapshot was taken of. + :type volume_id: int + + :param name: [required] A name for this snapshot. It is not necessarily unique. + :type name: str + + :param checksum: [required] A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. + :type checksum: str + + :param enable_remote_replication: [required] Identifies if snapshot is enabled for remote replication. + :type enable_remote_replication: bool + + :param expiration_reason: [required] Indicates how the snapshot expiration was set. Possible values: api: expiration time was set by using the API. none: there is no expiration time set. test: expiration time was set for testing. + :type expiration_reason: str + + :param expiration_time: The time at which this snapshot will expire and be purged from the cluster. + :type expiration_time: str + + :param remote_statuses: Current remote status of the snapshot remoteStatus: Possible values: Present: Snapshot exists on a remote cluster Not Present: Snapshot does not exist on remote cluster Syncing: This is a target cluster and it is currently replicating the snapshot Deleted: This is a target cluster, the snapshot has been deleted, and it still exists on the source. volumePairUUID: universal identifier of the volume pair + :type remote_statuses: SnapshotRemoteStatus + + :param status: [required] Current status of the snapshot Preparing: A snapshot that is being prepared for use and is not yet writable. Done: A snapshot that has finished being prepared and is now usable. Active: This snapshot is the active branch. + :type status: str + + :param snapshot_uuid: [required] Universal Unique ID of an existing snapshot. + :type snapshot_uuid: UUID + + :param total_size: [required] Total size of this snapshot in bytes. It is equivalent to totalSize of the volume when this snapshot was taken. + :type total_size: int + + :param group_id: If present, the ID of the group this snapshot is a part of. If not present, this snapshot is not part of a group. + :type group_id: int + + :param group_snapshot_uuid: [required] The current "members" results contains information about each snapshot in the group. Each of these members will have a "uuid" parameter for the snapshot's UUID. + :type group_snapshot_uuid: UUID + + :param create_time: [required] The time this snapshot was taken. + :type create_time: str + + :param instance_create_time: [required] + :type instance_create_time: str + + :param volume_name: [required] + :type volume_name: str + + :param instance_snapshot_uuid: [required] + :type instance_snapshot_uuid: UUID + + :param virtual_volume_id: The ID of the virtual volume with which the snapshot is associated. + :type virtual_volume_id: UUID + + :param attributes: [required] List of Name/Value pairs in JSON object format. + :type attributes: dict + + :param snap_mirror_label: Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. + :type snap_mirror_label: str + + """ + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation="""Unique ID for this snapshot. """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The volume this snapshot was taken of. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""A name for this snapshot. It is not necessarily unique. """, + dictionaryType=None + ) + checksum = data_model.property( + "checksum", str, + array=False, optional=False, + documentation="""A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. """, + dictionaryType=None + ) + enable_remote_replication = data_model.property( + "enableRemoteReplication", bool, + array=False, optional=False, + documentation="""Identifies if snapshot is enabled for remote replication. """, + dictionaryType=None + ) + expiration_reason = data_model.property( + "expirationReason", str, + array=False, optional=False, + documentation="""Indicates how the snapshot expiration was set. Possible values: api: expiration time was set by using the API. none: there is no expiration time set. test: expiration time was set for testing. """, + dictionaryType=None + ) + expiration_time = data_model.property( + "expirationTime", str, + array=False, optional=True, + documentation="""The time at which this snapshot will expire and be purged from the cluster. """, + dictionaryType=None + ) + remote_statuses = data_model.property( + "remoteStatuses", SnapshotRemoteStatus, + array=True, optional=True, + documentation="""Current remote status of the snapshot remoteStatus: Possible values: Present: Snapshot exists on a remote cluster Not Present: Snapshot does not exist on remote cluster Syncing: This is a target cluster and it is currently replicating the snapshot Deleted: This is a target cluster, the snapshot has been deleted, and it still exists on the source. volumePairUUID: universal identifier of the volume pair """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Current status of the snapshot Preparing: A snapshot that is being prepared for use and is not yet writable. Done: A snapshot that has finished being prepared and is now usable. Active: This snapshot is the active branch. """, + dictionaryType=None + ) + snapshot_uuid = data_model.property( + "snapshotUUID", UUID, + array=False, optional=False, + documentation="""Universal Unique ID of an existing snapshot. """, + dictionaryType=None + ) + total_size = data_model.property( + "totalSize", int, + array=False, optional=False, + documentation="""Total size of this snapshot in bytes. It is equivalent to totalSize of the volume when this snapshot was taken. """, + dictionaryType=None + ) + group_id = data_model.property( + "groupID", int, + array=False, optional=True, + documentation="""If present, the ID of the group this snapshot is a part of. If not present, this snapshot is not part of a group. """, + dictionaryType=None + ) + group_snapshot_uuid = data_model.property( + "groupSnapshotUUID", UUID, + array=False, optional=False, + documentation="""The current "members" results contains information about each snapshot in the group. Each of these members will have a "uuid" parameter for the snapshot's UUID. """, + dictionaryType=None + ) + create_time = data_model.property( + "createTime", str, + array=False, optional=False, + documentation="""The time this snapshot was taken. """, + dictionaryType=None + ) + instance_create_time = data_model.property( + "instanceCreateTime", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_name = data_model.property( + "volumeName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + instance_snapshot_uuid = data_model.property( + "instanceSnapshotUUID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + virtual_volume_id = data_model.property( + "virtualVolumeID", UUID, + array=False, optional=True, + documentation="""The ID of the virtual volume with which the snapshot is associated. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + snap_mirror_label = data_model.property( + "snapMirrorLabel", str, + array=False, optional=True, + documentation="""Label used by SnapMirror software to specify snapshot retention policy on SnapMirror endpoint. """, + dictionaryType=None + ) + + def __init__(self, + snapshot_id, + volume_id, + name, + checksum, + enable_remote_replication, + expiration_reason, + status, + snapshot_uuid, + total_size, + group_snapshot_uuid, + create_time, + instance_create_time, + volume_name, + instance_snapshot_uuid, + attributes, + expiration_time=None, + remote_statuses=None, + group_id=None, + virtual_volume_id=None, + snap_mirror_label=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VirtualVolumeInfo(data_model.DataObject): + """VirtualVolumeInfo + + :param virtual_volume_id: [required] + :type virtual_volume_id: UUID + + :param parent_virtual_volume_id: [required] + :type parent_virtual_volume_id: UUID + + :param storage_container: [required] + :type storage_container: StorageContainer + + :param volume_id: [required] + :type volume_id: int + + :param snapshot_id: [required] + :type snapshot_id: int + + :param virtual_volume_type: [required] + :type virtual_volume_type: str + + :param status: [required] + :type status: str + + :param bindings: [required] + :type bindings: int + + :param children: [required] + :type children: UUID + + :param metadata: [required] + :type metadata: dict + + :param snapshot_info: + :type snapshot_info: Snapshot + + :param volume_info: + :type volume_info: Volume + + :param descendants: + :type descendants: int + + """ + virtual_volume_id = data_model.property( + "virtualVolumeID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + parent_virtual_volume_id = data_model.property( + "parentVirtualVolumeID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + storage_container = data_model.property( + "storageContainer", StorageContainer, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + virtual_volume_type = data_model.property( + "virtualVolumeType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + bindings = data_model.property( + "bindings", int, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + children = data_model.property( + "children", UUID, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + metadata = data_model.property( + "metadata", dict, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + snapshot_info = data_model.property( + "snapshotInfo", Snapshot, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + volume_info = data_model.property( + "volumeInfo", Volume, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + descendants = data_model.property( + "descendants", int, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + virtual_volume_id, + parent_virtual_volume_id, + storage_container, + volume_id, + snapshot_id, + virtual_volume_type, + status, + bindings, + children, + metadata, + snapshot_info=None, + volume_info=None, + descendants=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumesResult(data_model.DataObject): + """ListVirtualVolumesResult + + :param virtual_volumes: [required] + :type virtual_volumes: VirtualVolumeInfo + + :param next_virtual_volume_id: + :type next_virtual_volume_id: UUID + + """ + virtual_volumes = data_model.property( + "virtualVolumes", VirtualVolumeInfo, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + next_virtual_volume_id = data_model.property( + "nextVirtualVolumeID", UUID, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + virtual_volumes, + next_virtual_volume_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteVolumesResult(data_model.DataObject): + """DeleteVolumesResult + + :param volumes: [required] Information about the newly deleted volume. + :type volumes: Volume + + """ + volumes = data_model.property( + "volumes", Volume, + array=True, optional=False, + documentation="""Information about the newly deleted volume. """, + dictionaryType=None + ) + + def __init__(self, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterCapacity(data_model.DataObject): + """ClusterCapacity + High level capacity measurements for the entire cluster. + + :param active_block_space: [required] The amount of space on the block drives. This includes additional information such as metadata entries and space which can be cleaned up. + :type active_block_space: int + + :param active_sessions: [required] Number of active iSCSI sessions communicating with the cluster + :type active_sessions: int + + :param average_iops: [required] Average IPS for the cluster since midnight Coordinated Universal Time (UTC). + :type average_iops: int + + :param cluster_recent_iosize: [required] The average size of IOPS to all volumes in the cluster. + :type cluster_recent_iosize: int + + :param current_iops: [required] Average IOPS for all volumes in the cluster over the last 5 seconds. + :type current_iops: int + + :param max_iops: [required] Estimated maximum IOPS capability of the current cluster. + :type max_iops: int + + :param max_over_provisionable_space: [required] The maximum amount of provisionable space. This is a computed value. You cannot create new volumes if the current provisioned space plus the new volume size would exceed this number: maxOverProvisionableSpace = maxProvisionedSpace * GetClusterFull + :type max_over_provisionable_space: int + + :param max_provisioned_space: [required] The total amount of provisionable space if all volumes are 100% filled (no thin provisioned metadata). + :type max_provisioned_space: int + + :param max_used_metadata_space: [required] The amount of bytes on volume drives used to store metadata. + :type max_used_metadata_space: int + + :param max_used_space: [required] The total amount of space on all active block drives. + :type max_used_space: int + + :param non_zero_blocks: [required] Total number of 4KiB blocks with data after the last garbage collection operation has completed. + :type non_zero_blocks: int + + :param peak_active_sessions: [required] Peak number of iSCSI connections since midnight UTC. + :type peak_active_sessions: int + + :param peak_iops: [required] The highest value for currentIOPS since midnight UTC. + :type peak_iops: int + + :param provisioned_space: [required] Total amount of space provisioned in all volumes on the cluster. + :type provisioned_space: int + + :param snapshot_non_zero_blocks: [required] Total number of 4KiB blocks in snapshots with data. + :type snapshot_non_zero_blocks: int + + :param timestamp: [required] The date and time this cluster capacity sample was taken. + :type timestamp: str + + :param total_ops: [required] The total number of I/O operations performed throughout the lifetime of the cluster + :type total_ops: int + + :param unique_blocks: [required] The total number of blocks stored on the block drives. The value includes replicated blocks. + :type unique_blocks: int + + :param unique_blocks_used_space: [required] The total amount of data the uniqueBlocks take up on the block drives. This number is always consistent with the uniqueBlocks value. + :type unique_blocks_used_space: int + + :param used_metadata_space: [required] The total amount of bytes on volume drives used to store metadata + :type used_metadata_space: int + + :param used_metadata_space_in_snapshots: [required] The amount of bytes on volume drives used for storing unique data in snapshots. This number provides an estimate of how much metadata space would be regained by deleting all snapshots on the system. + :type used_metadata_space_in_snapshots: int + + :param used_space: [required] Total amount of space used by all block drives in the system. + :type used_space: int + + :param zero_blocks: [required] Total number of 4KiB blocks without data after the last round of garabage collection operation has completed. + :type zero_blocks: int + + """ + active_block_space = data_model.property( + "activeBlockSpace", int, + array=False, optional=False, + documentation="""The amount of space on the block drives. This includes additional information such as metadata entries and space which can be cleaned up. """, + dictionaryType=None + ) + active_sessions = data_model.property( + "activeSessions", int, + array=False, optional=False, + documentation="""Number of active iSCSI sessions communicating with the cluster """, + dictionaryType=None + ) + average_iops = data_model.property( + "averageIOPS", int, + array=False, optional=False, + documentation="""Average IPS for the cluster since midnight Coordinated Universal Time (UTC). """, + dictionaryType=None + ) + cluster_recent_iosize = data_model.property( + "clusterRecentIOSize", int, + array=False, optional=False, + documentation="""The average size of IOPS to all volumes in the cluster. """, + dictionaryType=None + ) + current_iops = data_model.property( + "currentIOPS", int, + array=False, optional=False, + documentation="""Average IOPS for all volumes in the cluster over the last 5 seconds. """, + dictionaryType=None + ) + max_iops = data_model.property( + "maxIOPS", int, + array=False, optional=False, + documentation="""Estimated maximum IOPS capability of the current cluster. """, + dictionaryType=None + ) + max_over_provisionable_space = data_model.property( + "maxOverProvisionableSpace", int, + array=False, optional=False, + documentation="""The maximum amount of provisionable space. This is a computed value. You cannot create new volumes if the current provisioned space plus the new volume size would exceed this number: maxOverProvisionableSpace = maxProvisionedSpace * GetClusterFull """, + dictionaryType=None + ) + max_provisioned_space = data_model.property( + "maxProvisionedSpace", int, + array=False, optional=False, + documentation="""The total amount of provisionable space if all volumes are 100% filled (no thin provisioned metadata). """, + dictionaryType=None + ) + max_used_metadata_space = data_model.property( + "maxUsedMetadataSpace", int, + array=False, optional=False, + documentation="""The amount of bytes on volume drives used to store metadata. """, + dictionaryType=None + ) + max_used_space = data_model.property( + "maxUsedSpace", int, + array=False, optional=False, + documentation="""The total amount of space on all active block drives. """, + dictionaryType=None + ) + non_zero_blocks = data_model.property( + "nonZeroBlocks", int, + array=False, optional=False, + documentation="""Total number of 4KiB blocks with data after the last garbage collection operation has completed. """, + dictionaryType=None + ) + peak_active_sessions = data_model.property( + "peakActiveSessions", int, + array=False, optional=False, + documentation="""Peak number of iSCSI connections since midnight UTC. """, + dictionaryType=None + ) + peak_iops = data_model.property( + "peakIOPS", int, + array=False, optional=False, + documentation="""The highest value for currentIOPS since midnight UTC. """, + dictionaryType=None + ) + provisioned_space = data_model.property( + "provisionedSpace", int, + array=False, optional=False, + documentation="""Total amount of space provisioned in all volumes on the cluster. """, + dictionaryType=None + ) + snapshot_non_zero_blocks = data_model.property( + "snapshotNonZeroBlocks", int, + array=False, optional=False, + documentation="""Total number of 4KiB blocks in snapshots with data. """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""The date and time this cluster capacity sample was taken. """, + dictionaryType=None + ) + total_ops = data_model.property( + "totalOps", int, + array=False, optional=False, + documentation="""The total number of I/O operations performed throughout the lifetime of the cluster """, + dictionaryType=None + ) + unique_blocks = data_model.property( + "uniqueBlocks", int, + array=False, optional=False, + documentation="""The total number of blocks stored on the block drives. The value includes replicated blocks. """, + dictionaryType=None + ) + unique_blocks_used_space = data_model.property( + "uniqueBlocksUsedSpace", int, + array=False, optional=False, + documentation="""The total amount of data the uniqueBlocks take up on the block drives. This number is always consistent with the uniqueBlocks value. """, + dictionaryType=None + ) + used_metadata_space = data_model.property( + "usedMetadataSpace", int, + array=False, optional=False, + documentation="""The total amount of bytes on volume drives used to store metadata """, + dictionaryType=None + ) + used_metadata_space_in_snapshots = data_model.property( + "usedMetadataSpaceInSnapshots", int, + array=False, optional=False, + documentation="""The amount of bytes on volume drives used for storing unique data in snapshots. This number provides an estimate of how much metadata space would be regained by deleting all snapshots on the system. """, + dictionaryType=None + ) + used_space = data_model.property( + "usedSpace", int, + array=False, optional=False, + documentation="""Total amount of space used by all block drives in the system. """, + dictionaryType=None + ) + zero_blocks = data_model.property( + "zeroBlocks", int, + array=False, optional=False, + documentation="""Total number of 4KiB blocks without data after the last round of garabage collection operation has completed. """, + dictionaryType=None + ) + + def __init__(self, + active_block_space, + active_sessions, + average_iops, + cluster_recent_iosize, + current_iops, + max_iops, + max_over_provisionable_space, + max_provisioned_space, + max_used_metadata_space, + max_used_space, + non_zero_blocks, + peak_active_sessions, + peak_iops, + provisioned_space, + snapshot_non_zero_blocks, + timestamp, + total_ops, + unique_blocks, + unique_blocks_used_space, + used_metadata_space, + used_metadata_space_in_snapshots, + used_space, + zero_blocks): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterCapacityResult(data_model.DataObject): + """GetClusterCapacityResult + + :param cluster_capacity: [required] + :type cluster_capacity: ClusterCapacity + + """ + cluster_capacity = data_model.property( + "clusterCapacity", ClusterCapacity, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster_capacity): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyQoSPolicyResult(data_model.DataObject): + """ModifyQoSPolicyResult + + :param qos_policy: [required] Details of the newly modified QoSPolicy object. + :type qos_policy: QoSPolicy + + """ + qos_policy = data_model.property( + "qosPolicy", QoSPolicy, + array=False, optional=False, + documentation="""Details of the newly modified QoSPolicy object. """, + dictionaryType=None + ) + + def __init__(self, + qos_policy): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectSvipRequest(data_model.DataObject): + """TestConnectSvipRequest + The TestConnectSvip API method enables you to test the storage connection to the cluster. The test pings the SVIP using ICMP packets, and when successful, connects as an iSCSI initiator. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param svip: If specified, tests the storage connection of a different SVIP. You do not need to use this value when testing the connection to the target cluster. This parameter is optional. + :type svip: str + + """ + svip = data_model.property( + "svip", str, + array=False, optional=True, + documentation="""If specified, tests the storage connection of a different SVIP. You do not need to use this value when testing the connection to the target cluster. This parameter is optional. """, + dictionaryType=None + ) + + def __init__(self, + svip=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestPingRequest(data_model.DataObject): + """TestPingRequest + You can use the TestPing API method to validate the + connection to all the nodes in a cluster on both 1G and 10G interfaces by using ICMP packets. The test uses the appropriate MTU sizes for each packet based on the MTU settings in the network configuration. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param attempts: Specifies the number of times the system should repeat the test ping. The default value is 5. + :type attempts: int + + :param hosts: Specifies a comma-separated list of addresses or hostnames of devices to ping. + :type hosts: str + + :param total_timeout_sec: Specifies the length of time the ping should wait for a system response before issuing the next ping attempt or ending the process. + :type total_timeout_sec: int + + :param packet_size: Specifies the number of bytes to send in the ICMP packet that is sent to each IP. The number must be less than the maximum MTU specified in the network configuration. + :type packet_size: int + + :param ping_timeout_msec: Specifies the number of milliseconds to wait for each individual ping response. The default value is 500 ms. + :type ping_timeout_msec: int + + :param prohibit_fragmentation: Specifies that the Do not Fragment (DF) flag is enabled for the ICMP packets. + :type prohibit_fragmentation: bool + + """ + attempts = data_model.property( + "attempts", int, + array=False, optional=True, + documentation="""Specifies the number of times the system should repeat the test ping. The default value is 5. """, + dictionaryType=None + ) + hosts = data_model.property( + "hosts", str, + array=False, optional=True, + documentation="""Specifies a comma-separated list of addresses or hostnames of devices to ping. """, + dictionaryType=None + ) + total_timeout_sec = data_model.property( + "totalTimeoutSec", int, + array=False, optional=True, + documentation="""Specifies the length of time the ping should wait for a system response before issuing the next ping attempt or ending the process. """, + dictionaryType=None + ) + packet_size = data_model.property( + "packetSize", int, + array=False, optional=True, + documentation="""Specifies the number of bytes to send in the ICMP packet that is sent to each IP. The number must be less than the maximum MTU specified in the network configuration. """, + dictionaryType=None + ) + ping_timeout_msec = data_model.property( + "pingTimeoutMsec", int, + array=False, optional=True, + documentation="""Specifies the number of milliseconds to wait for each individual ping response. The default value is 500 ms. """, + dictionaryType=None + ) + prohibit_fragmentation = data_model.property( + "prohibitFragmentation", bool, + array=False, optional=True, + documentation="""Specifies that the Do not Fragment (DF) flag is enabled for the ICMP packets. """, + dictionaryType=None + ) + + def __init__(self, + attempts=None, + hosts=None, + total_timeout_sec=None, + packet_size=None, + ping_timeout_msec=None, + prohibit_fragmentation=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NodeStatsInfo(data_model.DataObject): + """NodeStatsInfo + + :param c_bytes_in: [required] Bytes in on the cluster interface. + :type c_bytes_in: int + + :param c_bytes_out: [required] Bytes out on the cluster interface. + :type c_bytes_out: int + + :param count: [required] + :type count: int + + :param cpu: [required] CPU Usage % + :type cpu: int + + :param cpu_total: [required] CPU Total + :type cpu_total: int + + :param m_bytes_in: [required] Bytes in on the management interface. + :type m_bytes_in: int + + :param m_bytes_out: [required] Bytes out on the management interface. + :type m_bytes_out: int + + :param network_utilization_cluster: [required] Network interface utilization (in %) for the cluster network interface. + :type network_utilization_cluster: int + + :param network_utilization_storage: [required] Network interface utilization (in %) for the storage network interface. + :type network_utilization_storage: int + + :param node_id: [required] + :type node_id: int + + :param read_ops: [required] Read Operations. + :type read_ops: int + + :param read_latency_usec_total: [required] + :type read_latency_usec_total: int + + :param s_bytes_in: [required] Bytes in on the storage interface. + :type s_bytes_in: int + + :param s_bytes_out: [required] Bytes out on the storage interface. + :type s_bytes_out: int + + :param timestamp: [required] Current time in UTC format ISO 8691 date string. + :type timestamp: str + + :param used_memory: [required] Total memory usage in bytes. + :type used_memory: int + + :param write_latency_usec_total: [required] + :type write_latency_usec_total: int + + :param write_ops: [required] Write Operations + :type write_ops: int + + """ + c_bytes_in = data_model.property( + "cBytesIn", int, + array=False, optional=False, + documentation="""Bytes in on the cluster interface. """, + dictionaryType=None + ) + c_bytes_out = data_model.property( + "cBytesOut", int, + array=False, optional=False, + documentation="""Bytes out on the cluster interface. """, + dictionaryType=None + ) + count = data_model.property( + "count", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cpu = data_model.property( + "cpu", int, + array=False, optional=False, + documentation="""CPU Usage % """, + dictionaryType=None + ) + cpu_total = data_model.property( + "cpuTotal", int, + array=False, optional=False, + documentation="""CPU Total """, + dictionaryType=None + ) + m_bytes_in = data_model.property( + "mBytesIn", int, + array=False, optional=False, + documentation="""Bytes in on the management interface. """, + dictionaryType=None + ) + m_bytes_out = data_model.property( + "mBytesOut", int, + array=False, optional=False, + documentation="""Bytes out on the management interface. """, + dictionaryType=None + ) + network_utilization_cluster = data_model.property( + "networkUtilizationCluster", int, + array=False, optional=False, + documentation="""Network interface utilization (in %) for the cluster network interface. """, + dictionaryType=None + ) + network_utilization_storage = data_model.property( + "networkUtilizationStorage", int, + array=False, optional=False, + documentation="""Network interface utilization (in %) for the storage network interface. """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + read_ops = data_model.property( + "readOps", int, + array=False, optional=False, + documentation="""Read Operations. """, + dictionaryType=None + ) + read_latency_usec_total = data_model.property( + "readLatencyUSecTotal", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + s_bytes_in = data_model.property( + "sBytesIn", int, + array=False, optional=False, + documentation="""Bytes in on the storage interface. """, + dictionaryType=None + ) + s_bytes_out = data_model.property( + "sBytesOut", int, + array=False, optional=False, + documentation="""Bytes out on the storage interface. """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""Current time in UTC format ISO 8691 date string. """, + dictionaryType=None + ) + used_memory = data_model.property( + "usedMemory", int, + array=False, optional=False, + documentation="""Total memory usage in bytes. """, + dictionaryType=None + ) + write_latency_usec_total = data_model.property( + "writeLatencyUSecTotal", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + write_ops = data_model.property( + "writeOps", int, + array=False, optional=False, + documentation="""Write Operations """, + dictionaryType=None + ) + + def __init__(self, + c_bytes_in, + c_bytes_out, + count, + cpu, + cpu_total, + m_bytes_in, + m_bytes_out, + network_utilization_cluster, + network_utilization_storage, + node_id, + read_ops, + read_latency_usec_total, + s_bytes_in, + s_bytes_out, + timestamp, + used_memory, + write_latency_usec_total, + write_ops): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NodeStatsNodes(data_model.DataObject): + """NodeStatsNodes + + :param nodes: [required] Node activity information for a single node. + :type nodes: NodeStatsInfo + + """ + nodes = data_model.property( + "nodes", NodeStatsInfo, + array=True, optional=False, + documentation="""Node activity information for a single node. """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListNodeStatsResult(data_model.DataObject): + """ListNodeStatsResult + + :param node_stats: [required] Node activity information for all nodes. + :type node_stats: NodeStatsNodes + + """ + node_stats = data_model.property( + "nodeStats", NodeStatsNodes, + array=False, optional=False, + documentation="""Node activity information for all nodes. """, + dictionaryType=None + ) + + def __init__(self, + node_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteVolumeAccessGroupResult(data_model.DataObject): + """DeleteVolumeAccessGroupResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteInitiatorsResult(data_model.DataObject): + """DeleteInitiatorsResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddInitiatorsToVolumeAccessGroupRequest(data_model.DataObject): + """AddInitiatorsToVolumeAccessGroupRequest + AddInitiatorsToVolumeAccessGroup enables you + to add initiators to a specified volume access group. + + :param volume_access_group_id: [required] The ID of the volume access group to modify. + :type volume_access_group_id: int + + :param initiators: [required] The list of initiators to add to the volume access group. + :type initiators: str + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID of the volume access group to modify. """, + dictionaryType=None + ) + initiators = data_model.property( + "initiators", str, + array=True, optional=False, + documentation="""The list of initiators to add to the volume access group. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + initiators): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteVolumeAccessGroupRequest(data_model.DataObject): + """DeleteVolumeAccessGroupRequest + DeleteVolumeAccessGroup enables you to delete a + volume access group. + + :param volume_access_group_id: [required] The ID of the volume access group to be deleted. + :type volume_access_group_id: int + + :param delete_orphan_initiators: true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. + :type delete_orphan_initiators: bool + + :param force: Adding this flag will force the volume access group to be deleted even though it has a Virtual Network ID or Tag. true: Volume access group will be deleted. false: Default. Do not delete the volume access group if it has a Virtual Network ID or Tag. + :type force: bool + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID of the volume access group to be deleted. """, + dictionaryType=None + ) + delete_orphan_initiators = data_model.property( + "deleteOrphanInitiators", bool, + array=False, optional=True, + documentation="""true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. """, + dictionaryType=None + ) + force = data_model.property( + "force", bool, + array=False, optional=True, + documentation="""Adding this flag will force the volume access group to be deleted even though it has a Virtual Network ID or Tag. true: Volume access group will be deleted. false: Default. Do not delete the volume access group if it has a Virtual Network ID or Tag. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + delete_orphan_initiators=None, + force=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class FeatureObject(data_model.DataObject): + """FeatureObject + + :param enabled: [required] True if the feature is enabled, otherwise false. + :type enabled: bool + + :param feature: [required] The name of the feature. + :type feature: str + + """ + enabled = data_model.property( + "enabled", bool, + array=False, optional=False, + documentation="""True if the feature is enabled, otherwise false. """, + dictionaryType=None + ) + feature = data_model.property( + "feature", str, + array=False, optional=False, + documentation="""The name of the feature. """, + dictionaryType=None + ) + + def __init__(self, + enabled, + feature): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetFeatureStatusResult(data_model.DataObject): + """GetFeatureStatusResult + + :param features: [required] An array of feature objects indicating the feature name and its status. + :type features: FeatureObject + + """ + features = data_model.property( + "features", FeatureObject, + array=True, optional=False, + documentation="""An array of feature objects indicating the feature name and its status. """, + dictionaryType=None + ) + + def __init__(self, + features): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualNetworksRequest(data_model.DataObject): + """ListVirtualNetworksRequest + ListVirtualNetworks enables you to list all configured virtual networks for the cluster. You can use this method to verify the virtual + network settings in the cluster. + There are no required parameters for this method. However, to filter the results, you can pass one or more VirtualNetworkID or + VirtualNetworkTag values. + + :param virtual_network_id: Network ID to filter the list for a single virtual network. + :type virtual_network_id: int + + :param virtual_network_tag: Network tag to filter the list for a single virtual network. + :type virtual_network_tag: int + + :param virtual_network_ids: Network IDs to include in the list. + :type virtual_network_ids: int + + :param virtual_network_tags: Network tag to include in the list. + :type virtual_network_tags: int + + """ + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=False, optional=True, + documentation="""Network ID to filter the list for a single virtual network. """, + dictionaryType=None + ) + virtual_network_tag = data_model.property( + "virtualNetworkTag", int, + array=False, optional=True, + documentation="""Network tag to filter the list for a single virtual network. """, + dictionaryType=None + ) + virtual_network_ids = data_model.property( + "virtualNetworkIDs", int, + array=True, optional=True, + documentation="""Network IDs to include in the list. """, + dictionaryType=None + ) + virtual_network_tags = data_model.property( + "virtualNetworkTags", int, + array=True, optional=True, + documentation="""Network tag to include in the list. """, + dictionaryType=None + ) + + def __init__(self, + virtual_network_id=None, + virtual_network_tag=None, + virtual_network_ids=None, + virtual_network_tags=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListSchedulesResult(data_model.DataObject): + """ListSchedulesResult + + :param schedules: [required] The list of schedules currently on the cluster. + :type schedules: Schedule + + """ + schedules = data_model.property( + "schedules", Schedule, + array=True, optional=False, + documentation="""The list of schedules currently on the cluster. """, + dictionaryType=None + ) + + def __init__(self, + schedules): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetNetworkConfigRequest(data_model.DataObject): + """SetNetworkConfigRequest + The SetNetworkConfig API method enables you to set the network configuration for a node. To display the current network settings for a node, run the GetNetworkConfig API method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + Changing the "bond-mode" on a node can cause a temporary loss of network connectivity. Exercise caution when using this method. + + :param network: [required] An object containing node network settings to modify. + :type network: NetworkParams + + """ + network = data_model.property( + "network", NetworkParams, + array=False, optional=False, + documentation="""An object containing node network settings to modify. """, + dictionaryType=None + ) + + def __init__(self, + network): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StartBulkVolumeReadRequest(data_model.DataObject): + """StartBulkVolumeReadRequest + StartBulkVolumeRead enables you to initialize a bulk volume read session on a specified volume. Only two bulk volume processes + can run simultaneously on a volume. When you initialize the session, data is read from a SolidFire storage volume for the purposes + of storing the data on an external backup source. The external data is accessed by a web server running on an SF-series node. + Communications and server interaction information for external data access is passed by a script running on the storage system. + At the start of a bulk volume read operation, a snapshot of the volume is made and the snapshot is deleted when the read is complete. You can also read a snapshot of the volume by entering the ID of the snapshot as a parameter. When you read a + previous snapshot, the system does not create a new snapshot of the volume or delete the previous snapshot when the + read completes. + Note: This process creates a new snapshot if the ID of an existing snapshot is not provided. Snapshots can be created if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + + :param volume_id: [required] The ID of the volume to be read. + :type volume_id: int + + :param format: [required] The format of the volume data. It can be either of the following formats: uncompressed: Every byte of the volume is returned without any compression. native: Opaque data is returned that is smaller and more efficiently stored and written on a subsequent bulk volume write. + :type format: str + + :param snapshot_id: The ID of a previously created snapshot used for bulk volume reads. If no ID is entered, a snapshot of the current active volume image is made. + :type snapshot_id: int + + :param script: The executable name of a script. If unspecified, the key and URL is necessary to access SF-series nodes. The script is run on the primary node and the key and URL is returned to the script so the local web server can be contacted. + :type script: str + + :param script_parameters: JSON parameters to pass to the script. + :type script_parameters: dict + + :param attributes: JSON attributes for the bulk volume job. + :type attributes: dict + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume to be read. """, + dictionaryType=None + ) + format = data_model.property( + "format", str, + array=False, optional=False, + documentation="""The format of the volume data. It can be either of the following formats: uncompressed: Every byte of the volume is returned without any compression. native: Opaque data is returned that is smaller and more efficiently stored and written on a subsequent bulk volume write. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=True, + documentation="""The ID of a previously created snapshot used for bulk volume reads. If no ID is entered, a snapshot of the current active volume image is made. """, + dictionaryType=None + ) + script = data_model.property( + "script", str, + array=False, optional=True, + documentation="""The executable name of a script. If unspecified, the key and URL is necessary to access SF-series nodes. The script is run on the primary node and the key and URL is returned to the script so the local web server can be contacted. """, + dictionaryType=None + ) + script_parameters = data_model.property( + "scriptParameters", dict, + array=False, optional=True, + documentation="""JSON parameters to pass to the script. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""JSON attributes for the bulk volume job. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + format, + snapshot_id=None, + script=None, + script_parameters=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddDrivesRequest(data_model.DataObject): + """AddDrivesRequest + AddDrives enables you to add one or more available drives to the cluster, enabling the drives to host a portion of the cluster's data. + When you add a node to the cluster or install new drives in an existing node, the new drives are marked as "available" and must be + added via AddDrives before they can be utilized. Use the ListDrives method to display drives that are "available" to be added. When + you add multiple drives, it is more efficient to add them in a single AddDrives method call rather than multiple individual methods + with a single drive each. This reduces the amount of data balancing that must occur to stabilize the storage load on the cluster. + When you add a drive, the system automatically determines the "type" of drive it should be. + The method is asynchronous and returns immediately. However, it can take some time for the data in the cluster to be rebalanced + using the newly added drives. As the new drives are syncing on the system, you can use the ListSyncJobs method to see how the + drives are being rebalanced and the progress of adding the new drive. You can also use the GetAsyncResult method to query the + method's returned asyncHandle. + + :param drives: [required] Returns information about each drive to be added to the cluster. Possible values are: driveID: The ID of the drive to add. (Integer) type: (Optional) The type of drive to add. Valid values are "slice" or "block". If omitted, the system assigns the correct type. (String) + :type drives: NewDrive + + :param force_during_upgrade: Allows the user to force the addition of drives during an upgrade. + :type force_during_upgrade: bool + + :param force_during_bin_sync: Allows the user to force the addition of drives during a bin sync operation. + :type force_during_bin_sync: bool + + """ + drives = data_model.property( + "drives", NewDrive, + array=True, optional=False, + documentation="""Returns information about each drive to be added to the cluster. Possible values are: driveID: The ID of the drive to add. (Integer) type: (Optional) The type of drive to add. Valid values are "slice" or "block". If omitted, the system assigns the correct type. (String) """, + dictionaryType=None + ) + force_during_upgrade = data_model.property( + "forceDuringUpgrade", bool, + array=False, optional=True, + documentation="""Allows the user to force the addition of drives during an upgrade. """, + dictionaryType=None + ) + force_during_bin_sync = data_model.property( + "forceDuringBinSync", bool, + array=False, optional=True, + documentation="""Allows the user to force the addition of drives during a bin sync operation. """, + dictionaryType=None + ) + + def __init__(self, + drives, + force_during_upgrade=None, + force_during_bin_sync=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteVolumeRequest(data_model.DataObject): + """DeleteVolumeRequest + DeleteVolume marks an active volume for deletion. When marked, the volume is purged (permanently deleted) after the cleanup + interval elapses. After making a request to delete a volume, any active iSCSI connections to the volume are immediately terminated + and no further connections are allowed while the volume is in this state. A marked volume is not returned in target discovery + requests. + Any snapshots of a volume that has been marked for deletion are not affected. Snapshots are kept until the volume is purged from + the system. + If a volume is marked for deletion and has a bulk volume read or bulk volume write operation in progress, the bulk volume read or + write operation is stopped. + If the volume you delete is paired with a volume, replication between the paired volumes is suspended and no data is transferred + to it or from it while in a deleted state. The remote volume that the deleted volume was paired with enters into a PausedMisconfigured state and data is no longer sent to it or from the deleted volume. Until the deleted volume is purged, it can be restored and data transfers resume. If the deleted volume gets purged from the system, the volume it was paired with enters into a StoppedMisconfigured state and the volume pairing status is removed. The purged volume becomes permanently unavailable. + + :param volume_id: [required] The ID of the volume to be deleted. + :type volume_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume to be deleted. """, + dictionaryType=None + ) + + def __init__(self, + volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateScheduleResult(data_model.DataObject): + """CreateScheduleResult + + :param schedule_id: [required] + :type schedule_id: int + + """ + schedule_id = data_model.property( + "scheduleID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + schedule_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ShutdownRequest(data_model.DataObject): + """ShutdownRequest + The Shutdown API method enables you to restart or shutdown a node that has not yet been added to a cluster. To use this method, + log in to the MIP for the pending node, and enter the "shutdown" method with either the "restart" or "halt" options. + + :param nodes: [required] List of NodeIDs for the nodes to be shutdown. + :type nodes: int + + :param option: Specifies the action to take for the node shutdown. Possible values are: restart: Restarts the node. halt: Shuts down the node. + :type option: str + + """ + nodes = data_model.property( + "nodes", int, + array=True, optional=False, + documentation="""List of NodeIDs for the nodes to be shutdown. """, + dictionaryType=None + ) + option = data_model.property( + "option", str, + array=False, optional=True, + documentation="""Specifies the action to take for the node shutdown. Possible values are: restart: Restarts the node. halt: Shuts down the node. """, + dictionaryType=None + ) + + def __init__(self, + nodes, + option=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetAsyncResultRequest(data_model.DataObject): + """GetAsyncResultRequest + You can use GetAsyncResult to retrieve the result of asynchronous method calls. Some method calls require some time to run, and + might not be finished when the system sends the initial response. To obtain the status or result of the method call, use + GetAsyncResult to poll the asyncHandle value returned by the method. + GetAsyncResult returns the overall status of the operation (in progress, completed, or error) in a standard fashion, but the actual + data returned for the operation depends on the original method call and the return data is documented with each method. + + :param async_handle: [required] A value that was returned from the original asynchronous method call. + :type async_handle: int + + :param keep_result: If true, GetAsyncResult does not remove the asynchronous result upon returning it, enabling future queries to that asyncHandle. + :type keep_result: bool + + """ + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation="""A value that was returned from the original asynchronous method call. """, + dictionaryType=None + ) + keep_result = data_model.property( + "keepResult", bool, + array=False, optional=True, + documentation="""If true, GetAsyncResult does not remove the asynchronous result upon returning it, enabling future queries to that asyncHandle. """, + dictionaryType=None + ) + + def __init__(self, + async_handle, + keep_result=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateVolumeResult(data_model.DataObject): + """CreateVolumeResult + + :param volume: + :type volume: Volume + + :param volume_id: [required] VolumeID for the newly created volume. + :type volume_id: int + + :param curve: [required] The curve is a set of key-value pairs. The keys are I/O sizes in bytes. The values represent the cost performing an IOP at a specific I/O size. The curve is calculated relative to a 4096 byte operation set at 100 IOPS. + :type curve: dict + + """ + volume = data_model.property( + "volume", Volume, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""VolumeID for the newly created volume. """, + dictionaryType=None + ) + curve = data_model.property( + "curve", dict, + array=False, optional=False, + documentation="""The curve is a set of key-value pairs. The keys are I/O sizes in bytes. The values represent the cost performing an IOP at a specific I/O size. The curve is calculated relative to a 4096 byte operation set at 100 IOPS. """, + dictionaryType=int + ) + + def __init__(self, + volume_id, + curve, + volume=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyAccountRequest(data_model.DataObject): + """ModifyAccountRequest + ModifyAccount enables you to modify an existing account. + When you lock an account, any existing connections from that account are immediately terminated. When you change an account's + CHAP settings, any existing connections remain active, and the new CHAP settings are used on subsequent connections or + reconnections. + To clear an account's attributes, specify {} for the attributes parameter. + + :param account_id: [required] Specifies the AccountID for the account to be modified. + :type account_id: int + + :param username: Specifies the username associated with the account. (Might be 1 to 64 characters in length). + :type username: str + + :param status: Sets the status for the account. Possible values are: active: The account is active and connections are allowed. locked: The account is locked and connections are refused. + :type status: str + + :param initiator_secret: Specifies the CHAP secret to use for the initiator. This secret must be 12-16 characters in length and should be impenetrable. The initiator CHAP secret must be unique and cannot be the same as the target CHAP secret. + :type initiator_secret: CHAPSecret + + :param target_secret: Specifies the CHAP secret to use for the target (mutual CHAP authentication). This secret must be 12-16 characters in length and should be impenetrable. The target CHAP secret must be unique and cannot be the same as the initiator CHAP secret. + :type target_secret: CHAPSecret + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""Specifies the AccountID for the account to be modified. """, + dictionaryType=None + ) + username = data_model.property( + "username", str, + array=False, optional=True, + documentation="""Specifies the username associated with the account. (Might be 1 to 64 characters in length). """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=True, + documentation="""Sets the status for the account. Possible values are: active: The account is active and connections are allowed. locked: The account is locked and connections are refused. """, + dictionaryType=None + ) + initiator_secret = data_model.property( + "initiatorSecret", CHAPSecret, + array=False, optional=True, + documentation="""Specifies the CHAP secret to use for the initiator. This secret must be 12-16 characters in length and should be impenetrable. The initiator CHAP secret must be unique and cannot be the same as the target CHAP secret. """, + dictionaryType=None + ) + target_secret = data_model.property( + "targetSecret", CHAPSecret, + array=False, optional=True, + documentation="""Specifies the CHAP secret to use for the target (mutual CHAP authentication). This secret must be 12-16 characters in length and should be impenetrable. The target CHAP secret must be unique and cannot be the same as the initiator CHAP secret. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + account_id, + username=None, + status=None, + initiator_secret=None, + target_secret=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterAdmin(data_model.DataObject): + """ClusterAdmin + + :param auth_method: [required] + :type auth_method: str + + :param access: [required] + :type access: str + + :param cluster_admin_id: [required] + :type cluster_admin_id: int + + :param username: [required] + :type username: str + + :param attributes: List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + auth_method = data_model.property( + "authMethod", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + cluster_admin_id = data_model.property( + "clusterAdminID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + username = data_model.property( + "username", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + auth_method, + access, + cluster_admin_id, + username, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetCurrentClusterAdminResult(data_model.DataObject): + """GetCurrentClusterAdminResult + + :param cluster_admin: [required] Information about all cluster and LDAP administrators that exist for a cluster. + :type cluster_admin: ClusterAdmin + + """ + cluster_admin = data_model.property( + "clusterAdmin", ClusterAdmin, + array=False, optional=False, + documentation="""Information about all cluster and LDAP administrators that exist for a cluster. """, + dictionaryType=None + ) + + def __init__(self, + cluster_admin): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ResetNodeRequest(data_model.DataObject): + """ResetNodeRequest + The ResetNode API method enables you to reset a node to the factory settings. All data, packages (software upgrades, and so on), + configurations, and log files are deleted from the node when you call this method. However, network settings for the node are + preserved during this operation. Nodes that are participating in a cluster cannot be reset to the factory settings. + The ResetNode API can only be used on nodes that are in an "Available" state. It cannot be used on nodes that are "Active" in a + cluster, or in a "Pending" state. + Caution: This method clears any data that is on the node. Exercise caution when using this method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param build: [required] Specifies the URL to a remote Element software image to which the node will be reset. + :type build: str + + :param force: [required] Required parameter to successfully reset the node. + :type force: bool + + :param reboot: Set to true if you want to reboot the node. + :type reboot: bool + + :param options: Used to enter specifications for running the reset operation. Available options: 'edebug': '', 'sf_auto': '0', 'sf_bond_mode': 'ActivePassive', 'sf_check_hardware': '0', 'sf_disable_otpw': '0', 'sf_fa_host': '', 'sf_hostname': 'SF-FA18', 'sf_inplace': '1', 'sf_inplace_die_action': 'kexec', 'sf_inplace_safe': '0', 'sf_keep_cluster_config': '0', 'sf_keep_data': '0', 'sf_keep_hostname': '0', 'sf_keep_network_config': '0', 'sf_keep_paths': '/var/log/hardware.xml 'sf_max_archives': '5', 'sf_nvram_size': '', 'sf_oldroot': '', 'sf_postinst_erase_root_drive': '0', 'sf_root_drive': '', 'sf_rtfi_cleanup_state': '', 'sf_secure_erase': '1', 'sf_secure_erase_retries': '5', 'sf_slice_size': '', 'sf_ssh_key': '1', 'sf_ssh_root': '1', 'sf_start_rtfi': '1', 'sf_status_httpserver': '1', 'sf_status_httpserver_stop_delay': '5m', 'sf_status_inject_failure': '', 'sf_status_json': '0', 'sf_support_host': 'sfsupport.solidfire.com', 'sf_test_hardware': '0', 'sf_upgrade': '0', 'sf_upgrade_firmware': '0', 'sf_upload_logs_url': '' + :type options: str + + """ + build = data_model.property( + "build", str, + array=False, optional=False, + documentation="""Specifies the URL to a remote Element software image to which the node will be reset. """, + dictionaryType=None + ) + force = data_model.property( + "force", bool, + array=False, optional=False, + documentation="""Required parameter to successfully reset the node. """, + dictionaryType=None + ) + reboot = data_model.property( + "reboot", bool, + array=False, optional=True, + documentation="""Set to true if you want to reboot the node. """, + dictionaryType=None + ) + options = data_model.property( + "options", str, + array=False, optional=True, + documentation="""Used to enter specifications for running the reset operation. Available options: 'edebug': '', 'sf_auto': '0', 'sf_bond_mode': 'ActivePassive', 'sf_check_hardware': '0', 'sf_disable_otpw': '0', 'sf_fa_host': '', 'sf_hostname': 'SF-FA18', 'sf_inplace': '1', 'sf_inplace_die_action': 'kexec', 'sf_inplace_safe': '0', 'sf_keep_cluster_config': '0', 'sf_keep_data': '0', 'sf_keep_hostname': '0', 'sf_keep_network_config': '0', 'sf_keep_paths': '/var/log/hardware.xml 'sf_max_archives': '5', 'sf_nvram_size': '', 'sf_oldroot': '', 'sf_postinst_erase_root_drive': '0', 'sf_root_drive': '', 'sf_rtfi_cleanup_state': '', 'sf_secure_erase': '1', 'sf_secure_erase_retries': '5', 'sf_slice_size': '', 'sf_ssh_key': '1', 'sf_ssh_root': '1', 'sf_start_rtfi': '1', 'sf_status_httpserver': '1', 'sf_status_httpserver_stop_delay': '5m', 'sf_status_inject_failure': '', 'sf_status_json': '0', 'sf_support_host': 'sfsupport.solidfire.com', 'sf_test_hardware': '0', 'sf_upgrade': '0', 'sf_upgrade_firmware': '0', 'sf_upload_logs_url': '' """, + dictionaryType=None + ) + + def __init__(self, + build, + force, + reboot=None, + options=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetLoginSessionInfoRequest(data_model.DataObject): + """SetLoginSessionInfoRequest + You can use SetLoginSessionInfo to set the period of time that a session's login authentication is valid. After the log in period elapses without activity on the system, the authentication expires. New login credentials are required for continued access to the cluster after the timeout period has elapsed. + + :param timeout: [required] Cluster authentication expiration period. Formatted in HH:mm:ss. For example, 01:30:00, 00:90:00, and 00:00:5400 can be used to equal a 90 minute timeout period. The default value is 30 minutes. The minimum value is 1 minute. + :type timeout: str + + """ + timeout = data_model.property( + "timeout", str, + array=False, optional=False, + documentation="""Cluster authentication expiration period. Formatted in HH:mm:ss. For example, 01:30:00, 00:90:00, and 00:00:5400 can be used to equal a 90 minute timeout period. The default value is 30 minutes. The minimum value is 1 minute. """, + dictionaryType=None + ) + + def __init__(self, + timeout): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateSnapshotResult(data_model.DataObject): + """CreateSnapshotResult + + :param snapshot: [required] + :type snapshot: Snapshot + + :param snapshot_id: [required] ID of the newly-created snapshot. + :type snapshot_id: int + + :param checksum: [required] A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. + :type checksum: str + + """ + snapshot = data_model.property( + "snapshot", Snapshot, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation="""ID of the newly-created snapshot. """, + dictionaryType=None + ) + checksum = data_model.property( + "checksum", str, + array=False, optional=False, + documentation="""A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. """, + dictionaryType=None + ) + + def __init__(self, + snapshot, + snapshot_id, + checksum): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class FibreChannelPortInfo(data_model.DataObject): + """FibreChannelPortInfo + Fibre Channel Node Port Info object returns information about all Fibre Channel ports on a node, or for one node in the cluster. The same information is returned for all ports or port information for one node. This information is returned with the API method ListNodeFibreChannelPortInfo (in the SolidFire API Guide). + + :param firmware: [required] The version of the firmware installed on the Fibre Channel port. + :type firmware: str + + :param hba_port: [required] The ID of the individual HBA port. + :type hba_port: int + + :param model: [required] Model of the HBA on the port. + :type model: str + + :param n_port_id: [required] Unique SolidFire port node ID. + :type n_port_id: str + + :param pci_slot: [required] Slot in which the pci card resides on the Fibre Channel node hardware. + :type pci_slot: int + + :param serial: [required] Serial number on the Fibre Channel port. + :type serial: str + + :param speed: [required] Speed of the HBA on the port. + :type speed: str + + :param state: [required] Possible values: UnknownNotPresentOnlineOfflineBlockedBypassedDiagnosticsLinkdownErrorLoopbackDeleted + :type state: str + + :param switch_wwn: [required] The World Wide Name of the Fibre Channel switch port. + :type switch_wwn: str + + :param wwnn: [required] World Wide Node Name of the HBA node. + :type wwnn: str + + :param wwpn: [required] World Wide Port Name assigned to the physical port of the HBA. + :type wwpn: str + + """ + firmware = data_model.property( + "firmware", str, + array=False, optional=False, + documentation="""The version of the firmware installed on the Fibre Channel port. """, + dictionaryType=None + ) + hba_port = data_model.property( + "hbaPort", int, + array=False, optional=False, + documentation="""The ID of the individual HBA port. """, + dictionaryType=None + ) + model = data_model.property( + "model", str, + array=False, optional=False, + documentation="""Model of the HBA on the port. """, + dictionaryType=None + ) + n_port_id = data_model.property( + "nPortID", str, + array=False, optional=False, + documentation="""Unique SolidFire port node ID. """, + dictionaryType=None + ) + pci_slot = data_model.property( + "pciSlot", int, + array=False, optional=False, + documentation="""Slot in which the pci card resides on the Fibre Channel node hardware. """, + dictionaryType=None + ) + serial = data_model.property( + "serial", str, + array=False, optional=False, + documentation="""Serial number on the Fibre Channel port. """, + dictionaryType=None + ) + speed = data_model.property( + "speed", str, + array=False, optional=False, + documentation="""Speed of the HBA on the port. """, + dictionaryType=None + ) + state = data_model.property( + "state", str, + array=False, optional=False, + documentation="""Possible values: UnknownNotPresentOnlineOfflineBlockedBypassedDiagnosticsLinkdownErrorLoopbackDeleted """, + dictionaryType=None + ) + switch_wwn = data_model.property( + "switchWwn", str, + array=False, optional=False, + documentation="""The World Wide Name of the Fibre Channel switch port. """, + dictionaryType=None + ) + wwnn = data_model.property( + "wwnn", str, + array=False, optional=False, + documentation="""World Wide Node Name of the HBA node. """, + dictionaryType=None + ) + wwpn = data_model.property( + "wwpn", str, + array=False, optional=False, + documentation="""World Wide Port Name assigned to the physical port of the HBA. """, + dictionaryType=None + ) + + def __init__(self, + firmware, + hba_port, + model, + n_port_id, + pci_slot, + serial, + speed, + state, + switch_wwn, + wwnn, + wwpn): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class FibreChannelPortList(data_model.DataObject): + """FibreChannelPortList + List of all Fibre Channel ports. + + :param fibre_channel_ports: [required] List of all physical Fibre Channel ports. + :type fibre_channel_ports: FibreChannelPortInfo + + """ + fibre_channel_ports = data_model.property( + "fibreChannelPorts", FibreChannelPortInfo, + array=True, optional=False, + documentation="""List of all physical Fibre Channel ports. """, + dictionaryType=None + ) + + def __init__(self, + fibre_channel_ports): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class FibreChannelPortInfoResult(data_model.DataObject): + """FibreChannelPortInfoResult + Used to return information about the Fibre Channel ports. + + :param result: [required] Used to return information about the Fibre Channel ports. + :type result: FibreChannelPortList + + """ + result = data_model.property( + "result", FibreChannelPortList, + array=False, optional=False, + documentation="""Used to return information about the Fibre Channel ports. """, + dictionaryType=None + ) + + def __init__(self, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListFibreChannelPortInfoResult(data_model.DataObject): + """ListFibreChannelPortInfoResult + ListFibreChannelPortInfoResult is used to return information about the Fibre Channel ports. + + :param fibre_channel_port_info: [required] Used to return information about the Fibre Channel ports. + :type fibre_channel_port_info: dict + + """ + fibre_channel_port_info = data_model.property( + "fibreChannelPortInfo", dict, + array=False, optional=False, + documentation="""Used to return information about the Fibre Channel ports. """, + dictionaryType=FibreChannelPortInfoResult + ) + + def __init__(self, + fibre_channel_port_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RollbackToSnapshotRequest(data_model.DataObject): + """RollbackToSnapshotRequest + RollbackToSnapshot enables you to make an existing snapshot of the "active" volume image. This method creates a new snapshot + from an existing snapshot. The new snapshot becomes "active" and the existing snapshot is preserved until you delete it. + The previously "active" snapshot is deleted unless you set the parameter saveCurrentState to true. + Note: Creating a snapshot is allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is + at stage 4 or 5. + + :param volume_id: [required] VolumeID for the volume. + :type volume_id: int + + :param snapshot_id: [required] The ID of a previously created snapshot on the given volume. + :type snapshot_id: int + + :param save_current_state: [required] Specifies whether to save an active volume image or delete it. Values are: true: The previous active volume image is kept. false: (default) The previous active volume image is deleted. + :type save_current_state: bool + + :param name: Name for the snapshot. If unspecified, the name of the snapshot being rolled back to is used with "- copy" appended to the end of the name. + :type name: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""VolumeID for the volume. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation="""The ID of a previously created snapshot on the given volume. """, + dictionaryType=None + ) + save_current_state = data_model.property( + "saveCurrentState", bool, + array=False, optional=False, + documentation="""Specifies whether to save an active volume image or delete it. Values are: true: The previous active volume image is kept. false: (default) The previous active volume image is deleted. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""Name for the snapshot. If unspecified, the name of the snapshot being rolled back to is used with "- copy" appended to the end of the name. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + snapshot_id, + save_current_state, + name=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RestoreDeletedVolumeResult(data_model.DataObject): + """RestoreDeletedVolumeResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListDeletedVolumesResult(data_model.DataObject): + """ListDeletedVolumesResult + + :param volumes: [required] List of deleted volumes. + :type volumes: Volume + + """ + volumes = data_model.property( + "volumes", Volume, + array=True, optional=False, + documentation="""List of deleted volumes. """, + dictionaryType=None + ) + + def __init__(self, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListSnapshotsRequest(data_model.DataObject): + """ListSnapshotsRequest + ListSnapshots enables you to return the attributes of each snapshot taken on the volume. Information about snapshots that reside on the target cluster is displayed on the source cluster when this method is called from the source cluster. + + :param volume_id: Retrieves snapshots for a volume. If volumeID is not provided, all snapshots for all volumes are returned. + :type volume_id: int + + :param snapshot_id: Retrieves information for a specific snapshot ID. + :type snapshot_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=True, + documentation="""Retrieves snapshots for a volume. If volumeID is not provided, all snapshots for all volumes are returned. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=True, + documentation="""Retrieves information for a specific snapshot ID. """, + dictionaryType=None + ) + + def __init__(self, + volume_id=None, + snapshot_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListActiveVolumesResult(data_model.DataObject): + """ListActiveVolumesResult + + :param volumes: [required] List of active volumes. + :type volumes: Volume + + """ + volumes = data_model.property( + "volumes", Volume, + array=True, optional=False, + documentation="""List of active volumes. """, + dictionaryType=None + ) + + def __init__(self, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNtpInfoResult(data_model.DataObject): + """GetNtpInfoResult + + :param broadcastclient: [required] Indicates whether or not the nodes in the cluster are listening for broadcast NTP messages. Possible values: true false + :type broadcastclient: bool + + :param servers: [required] List of NTP servers. + :type servers: str + + """ + broadcastclient = data_model.property( + "broadcastclient", bool, + array=False, optional=False, + documentation="""Indicates whether or not the nodes in the cluster are listening for broadcast NTP messages. Possible values: true false """, + dictionaryType=None + ) + servers = data_model.property( + "servers", str, + array=True, optional=False, + documentation="""List of NTP servers. """, + dictionaryType=None + ) + + def __init__(self, + broadcastclient, + servers): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListAsyncResultsRequest(data_model.DataObject): + """ListAsyncResultsRequest + You can use ListAsyncResults to list the results of all currently running and completed asynchronous methods on the system. + Querying asynchronous results with ListAsyncResults does not cause completed asyncHandles to expire; you can use GetAsyncResult + to query any of the asyncHandles returned by ListAsyncResults. + + :param async_result_types: An optional list of types of results. You can use this list to restrict the results to only these types of operations. Possible values are: BulkVolume: Copy operations between volumes, such as backups or restores. Clone: Volume cloning operations. DriveRemoval: Operations involving the system copying data from a drive in preparation to remove it from the cluster. RtfiPendingNode: Operations involving the system installing compatible software on a node before adding it to the cluster + :type async_result_types: str + + """ + async_result_types = data_model.property( + "asyncResultTypes", str, + array=True, optional=True, + documentation="""An optional list of types of results. You can use this list to restrict the results to only these types of operations. Possible values are: BulkVolume: Copy operations between volumes, such as backups or restores. Clone: Volume cloning operations. DriveRemoval: Operations involving the system copying data from a drive in preparation to remove it from the cluster. RtfiPendingNode: Operations involving the system installing compatible software on a node before adding it to the cluster """, + dictionaryType=None + ) + + def __init__(self, + async_result_types=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyAccountResult(data_model.DataObject): + """ModifyAccountResult + + :param account: [required] + :type account: Account + + """ + account = data_model.property( + "account", Account, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + account): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyInitiator(data_model.DataObject): + """ModifyInitiator + Object containing characteristics of each initiator to modify + + :param initiator_id: [required] (Required) The numeric ID of the initiator to modify. (Integer) + :type initiator_id: int + + :param alias: (Optional) A new friendly name to assign to the initiator. (String) + :type alias: str + + :param volume_access_group_id: (Optional) The ID of the volume access group to which the newly created initiator should be added. If the initiator was previously in a different volume access group, it is removed from the old volume access group. If this key is present but null, the initiator is removed from its current volume access group, but not placed in any new volume access group. (Integer) + :type volume_access_group_id: int + + :param attributes: (Optional) A new set of JSON attributes assigned to this initiator. (JSON Object) + :type attributes: dict + + """ + initiator_id = data_model.property( + "initiatorID", int, + array=False, optional=False, + documentation="""(Required) The numeric ID of the initiator to modify. (Integer) """, + dictionaryType=None + ) + alias = data_model.property( + "alias", str, + array=False, optional=True, + documentation="""(Optional) A new friendly name to assign to the initiator. (String) """, + dictionaryType=None + ) + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=True, + documentation="""(Optional) The ID of the volume access group to which the newly created initiator should be added. If the initiator was previously in a different volume access group, it is removed from the old volume access group. If this key is present but null, the initiator is removed from its current volume access group, but not placed in any new volume access group. (Integer) """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""(Optional) A new set of JSON attributes assigned to this initiator. (JSON Object) """, + dictionaryType=None + ) + + def __init__(self, + initiator_id, + alias=None, + volume_access_group_id=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyInitiatorsRequest(data_model.DataObject): + """ModifyInitiatorsRequest + ModifyInitiators enables you to change the attributes of one or more existing initiators. You cannot change the name of an existing + initiator. If you need to change the name of an initiator, delete it first with DeleteInitiators and create a new one with + CreateInitiators. + If ModifyInitiators fails to change one of the initiators provided in the parameter, the method returns an error and does not modify + any initiators (no partial completion is possible). + + :param initiators: [required] A list of objects containing characteristics of each initiator to modify. Values are: initiatorID: (Required) The ID of the initiator to modify. (Integer) alias: (Optional) A new friendly name to assign to the initiator. (String) attributes: (Optional) A new set of JSON attributes to assign to the initiator. (JSON Object) volumeAccessGroupID: (Optional) The ID of the volume access group into to which the initiator should be added. If the initiator was previously in a different volume access group, it is removed from the old volume access group. If this key is present but null, the initiator is removed from its current volume access group, but not placed in any new volume access group. (Integer) + :type initiators: ModifyInitiator + + """ + initiators = data_model.property( + "initiators", ModifyInitiator, + array=True, optional=False, + documentation="""A list of objects containing characteristics of each initiator to modify. Values are: initiatorID: (Required) The ID of the initiator to modify. (Integer) alias: (Optional) A new friendly name to assign to the initiator. (String) attributes: (Optional) A new set of JSON attributes to assign to the initiator. (JSON Object) volumeAccessGroupID: (Optional) The ID of the volume access group into to which the initiator should be added. If the initiator was previously in a different volume access group, it is removed from the old volume access group. If this key is present but null, the initiator is removed from its current volume access group, but not placed in any new volume access group. (Integer) """, + dictionaryType=None + ) + + def __init__(self, + initiators): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListUtilitiesResult(data_model.DataObject): + """ListUtilitiesResult + + :param utilities: [required] List of utilities currently available to run on the node. + :type utilities: str + + """ + utilities = data_model.property( + "utilities", str, + array=False, optional=False, + documentation="""List of utilities currently available to run on the node. """, + dictionaryType=None + ) + + def __init__(self, + utilities): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveInitiatorsFromVolumeAccessGroupRequest(data_model.DataObject): + """RemoveInitiatorsFromVolumeAccessGroupRequest + RemoveInitiatorsFromVolumeAccessGroup enables + you to remove initiators from a specified volume access + group. + + :param volume_access_group_id: [required] The ID of the volume access group from which the initiators are removed. + :type volume_access_group_id: int + + :param initiators: [required] The list of initiators to remove from the volume access group. + :type initiators: str + + :param delete_orphan_initiators: true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. + :type delete_orphan_initiators: bool + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID of the volume access group from which the initiators are removed. """, + dictionaryType=None + ) + initiators = data_model.property( + "initiators", str, + array=True, optional=False, + documentation="""The list of initiators to remove from the volume access group. """, + dictionaryType=None + ) + delete_orphan_initiators = data_model.property( + "deleteOrphanInitiators", bool, + array=False, optional=True, + documentation="""true: Delete initiator objects after they are removed from a volume access group. false: Do not delete initiator objects after they are removed from a volume access group. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + initiators, + delete_orphan_initiators=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ProtocolEndpoint(data_model.DataObject): + """ProtocolEndpoint + + :param protocol_endpoint_id: [required] + :type protocol_endpoint_id: UUID + + :param protocol_endpoint_state: [required] + :type protocol_endpoint_state: str + + :param provider_type: [required] + :type provider_type: str + + :param primary_provider_id: [required] + :type primary_provider_id: int + + :param secondary_provider_id: [required] + :type secondary_provider_id: int + + :param scsi_naadevice_id: [required] + :type scsi_naadevice_id: str + + """ + protocol_endpoint_id = data_model.property( + "protocolEndpointID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + protocol_endpoint_state = data_model.property( + "protocolEndpointState", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + provider_type = data_model.property( + "providerType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + primary_provider_id = data_model.property( + "primaryProviderID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + secondary_provider_id = data_model.property( + "secondaryProviderID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + scsi_naadevice_id = data_model.property( + "scsiNAADeviceID", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + protocol_endpoint_id, + protocol_endpoint_state, + provider_type, + primary_provider_id, + secondary_provider_id, + scsi_naadevice_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListProtocolEndpointsResult(data_model.DataObject): + """ListProtocolEndpointsResult + + :param protocol_endpoints: [required] + :type protocol_endpoints: ProtocolEndpoint + + """ + protocol_endpoints = data_model.property( + "protocolEndpoints", ProtocolEndpoint, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + protocol_endpoints): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSnmpTrapInfoResult(data_model.DataObject): + """SetSnmpTrapInfoResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteStorageContainersRequest(data_model.DataObject): + """DeleteStorageContainersRequest + DeleteStorageContainers enables you to remove up to 2000 Virtual Volume (VVol) storage containers from the system at one time. + The storage containers you remove must not contain any VVols. + + :param storage_container_ids: [required] A list of IDs of the storage containers to delete. You can specify up to 2000 IDs in the list. + :type storage_container_ids: UUID + + """ + storage_container_ids = data_model.property( + "storageContainerIDs", UUID, + array=True, optional=False, + documentation="""A list of IDs of the storage containers to delete. You can specify up to 2000 IDs in the list. """, + dictionaryType=None + ) + + def __init__(self, + storage_container_ids): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VolumeAccessGroup(data_model.DataObject): + """VolumeAccessGroup + A volume access group is a useful way of grouping volumes and initiators together for ease of management. + + Volume Access Group Limits: + + - A volume access group can contain up to sixty-four initiator IQNs. + - An initiator can only beinteger to only one volume access group. + - A volume access group can contain up to two thousand volumes. + - Each volume access group can beinteger to a maximum of four other volume access groups. + + :param deleted_volumes: [required] A list of deleted volumes that have yet to be purged from the VAG. + :type deleted_volumes: int + + :param volume_access_group_id: [required] Unique ID for this volume access group. + :type volume_access_group_id: int + + :param name: [required] Name of the volume access group. + :type name: str + + :param initiator_ids: [required] A list of IDs of initiators that are mapped to the VAG. + :type initiator_ids: int + + :param initiators: [required] List of unique initiator names beintegering to the volume access group. + :type initiators: str + + :param volumes: [required] List of volumes beintegering to the volume access group. + :type volumes: int + + :param attributes: [required] List of name/value pairs + :type attributes: dict + + """ + deleted_volumes = data_model.property( + "deletedVolumes", int, + array=True, optional=False, + documentation="""A list of deleted volumes that have yet to be purged from the VAG. """, + dictionaryType=None + ) + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""Unique ID for this volume access group. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""Name of the volume access group. """, + dictionaryType=None + ) + initiator_ids = data_model.property( + "initiatorIDs", int, + array=True, optional=False, + documentation="""A list of IDs of initiators that are mapped to the VAG. """, + dictionaryType=None + ) + initiators = data_model.property( + "initiators", str, + array=True, optional=False, + documentation="""List of unique initiator names beintegering to the volume access group. """, + dictionaryType=None + ) + volumes = data_model.property( + "volumes", int, + array=True, optional=False, + documentation="""List of volumes beintegering to the volume access group. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of name/value pairs """, + dictionaryType=None + ) + + def __init__(self, + deleted_volumes, + volume_access_group_id, + name, + initiator_ids, + initiators, + volumes, + attributes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateVolumeAccessGroupResult(data_model.DataObject): + """CreateVolumeAccessGroupResult + + :param volume_access_group_id: [required] The ID for the newly-created volume access group. + :type volume_access_group_id: int + + :param volume_access_group: + :type volume_access_group: VolumeAccessGroup + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID for the newly-created volume access group. """, + dictionaryType=None + ) + volume_access_group = data_model.property( + "volumeAccessGroup", VolumeAccessGroup, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + volume_access_group=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateStorageContainerRequest(data_model.DataObject): + """CreateStorageContainerRequest + CreateStorageContainer enables you to create a Virtual Volume (VVol) storage container. Storage containers are associated with a SolidFire storage system account, and are used for reporting and resource allocation. Storage containers can only be associated with virtual volumes. You need at least one storage container to use the Virtual Volumes feature. + + :param name: [required] The name of the storage container. Follows SolidFire account naming restrictions. + :type name: str + + :param initiator_secret: The secret for CHAP authentication for the initiator. + :type initiator_secret: str + + :param target_secret: The secret for CHAP authentication for the target. + :type target_secret: str + + :param account_id: Non-storage container account that will become a storage container. + :type account_id: int + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name of the storage container. Follows SolidFire account naming restrictions. """, + dictionaryType=None + ) + initiator_secret = data_model.property( + "initiatorSecret", str, + array=False, optional=True, + documentation="""The secret for CHAP authentication for the initiator. """, + dictionaryType=None + ) + target_secret = data_model.property( + "targetSecret", str, + array=False, optional=True, + documentation="""The secret for CHAP authentication for the target. """, + dictionaryType=None + ) + account_id = data_model.property( + "accountID", int, + array=False, optional=True, + documentation="""Non-storage container account that will become a storage container. """, + dictionaryType=None + ) + + def __init__(self, + name, + initiator_secret=None, + target_secret=None, + account_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddVirtualNetworkResult(data_model.DataObject): + """AddVirtualNetworkResult + + :param virtual_network_id: The virtual network ID of the new virtual network. + :type virtual_network_id: int + + """ + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=False, optional=True, + documentation="""The virtual network ID of the new virtual network. """, + dictionaryType=None + ) + + def __init__(self, + virtual_network_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddNodesRequest(data_model.DataObject): + """AddNodesRequest + AddNodes enables you to add one or more new nodes to a cluster. When a node that is not configured starts up for the first time, you are prompted to configure the node. After you configure the node, it is registered as a "pending node" with the cluster. + Note: It might take several seconds after adding a new node for it to start up and register its drives as available. + + :param pending_nodes: [required] List of pending NodeIDs for the nodes to be added. You can obtain the list of pending nodes using the ListPendingNodes method. + :type pending_nodes: int + + :param auto_install: Whether these nodes should be autoinstalled + :type auto_install: bool + + """ + pending_nodes = data_model.property( + "pendingNodes", int, + array=True, optional=False, + documentation=""" List of pending NodeIDs for the nodes to be added. You can obtain the list of pending nodes using the ListPendingNodes method. """, + dictionaryType=None + ) + auto_install = data_model.property( + "autoInstall", bool, + array=False, optional=True, + documentation="""Whether these nodes should be autoinstalled """, + dictionaryType=None + ) + + def __init__(self, + pending_nodes, + auto_install=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RtfiInfo(data_model.DataObject): + """RtfiInfo + + :param mipi: + :type mipi: str + + :param generation: [required] + :type generation: str + + :param status_url_logfile: + :type status_url_logfile: str + + :param build: [required] + :type build: str + + :param status_url_all: [required] + :type status_url_all: str + + :param generation_next: + :type generation_next: int + + :param mip: + :type mip: str + + :param status_url_current: [required] + :type status_url_current: str + + :param options: + :type options: dict + + """ + mipi = data_model.property( + "mipi", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + generation = data_model.property( + "generation", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + status_url_logfile = data_model.property( + "statusUrlLogfile", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + build = data_model.property( + "build", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + status_url_all = data_model.property( + "statusUrlAll", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + generation_next = data_model.property( + "generationNext", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mip = data_model.property( + "mip", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + status_url_current = data_model.property( + "statusUrlCurrent", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + options = data_model.property( + "options", dict, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + generation, + build, + status_url_all, + status_url_current, + mipi=None, + status_url_logfile=None, + generation_next=None, + mip=None, + options=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ResetNodeDetails(data_model.DataObject): + """ResetNodeDetails + + :param rtfi_info: [required] + :type rtfi_info: RtfiInfo + + """ + rtfi_info = data_model.property( + "rtfiInfo", RtfiInfo, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + rtfi_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ResetNodeResult(data_model.DataObject): + """ResetNodeResult + + :param details: + :type details: ResetNodeDetails + + :param duration: + :type duration: str + + :param result: + :type result: str + + """ + details = data_model.property( + "details", ResetNodeDetails, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + details=None, + duration=None, + result=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EnableLdapAuthenticationRequest(data_model.DataObject): + """EnableLdapAuthenticationRequest + The EnableLdapAuthentication method enables you to configure an LDAP directory connection to use for LDAP authentication to a cluster. Users that are members of the LDAP directory can then log in to the storage system using their LDAP credentials. + + :param auth_type: Identifies which user authentication method to use. Must be one of the following: DirectBind SearchAndBind + :type auth_type: str + + :param group_search_base_dn: The base DN of the tree to start the group search (will do a subtree search from here). + :type group_search_base_dn: str + + :param group_search_custom_filter: For use with the CustomFilter search type, an LDAP filter to use to return the DNs of a users groups. The string can have placeholder text of %USERNAME% and %USERDN% to be replaced with their username and full userDN as needed. + :type group_search_custom_filter: str + + :param group_search_type: Controls the default group search filter used, and must be one of the following: NoGroups: No group support. ActiveDirectory: Nested membership of all of a users AD groups. MemberDN: MemberDN style groups (single level). + :type group_search_type: str + + :param search_bind_dn: A fully qualified DN to log in with to perform an LDAP search for the user (needs read access to the LDAP directory). + :type search_bind_dn: str + + :param search_bind_password: The password for the searchBindDN account used for searching. + :type search_bind_password: str + + :param server_uris: [required] A comma-separated list of LDAP server URIs (examples: "ldap://1.2.3.4" and ldaps://1.2.3.4:123") + :type server_uris: str + + :param user_dntemplate: A string that is used to form a fully qualified user DN. The string should have the placeholder text %USERNAME%, which is replaced with the username of the authenticating user. + :type user_dntemplate: str + + :param user_search_base_dn: The base DN of the tree to start the search (will do a subtree search from here). + :type user_search_base_dn: str + + :param user_search_filter: The LDAP filter to use. The string should have the placeholder text %USERNAME% which is replaced with the username of the authenticating user. Example: (&(objectClass=person)(sAMAccountName=%USERNAME%)) will use the sAMAccountName field in Active Directory to match the username entered at cluster login. + :type user_search_filter: str + + """ + auth_type = data_model.property( + "authType", str, + array=False, optional=True, + documentation="""Identifies which user authentication method to use. Must be one of the following: DirectBind SearchAndBind """, + dictionaryType=None + ) + group_search_base_dn = data_model.property( + "groupSearchBaseDN", str, + array=False, optional=True, + documentation="""The base DN of the tree to start the group search (will do a subtree search from here). """, + dictionaryType=None + ) + group_search_custom_filter = data_model.property( + "groupSearchCustomFilter", str, + array=False, optional=True, + documentation="""For use with the CustomFilter search type, an LDAP filter to use to return the DNs of a users groups. The string can have placeholder text of %USERNAME% and %USERDN% to be replaced with their username and full userDN as needed. """, + dictionaryType=None + ) + group_search_type = data_model.property( + "groupSearchType", str, + array=False, optional=True, + documentation="""Controls the default group search filter used, and must be one of the following: NoGroups: No group support. ActiveDirectory: Nested membership of all of a users AD groups. MemberDN: MemberDN style groups (single level). """, + dictionaryType=None + ) + search_bind_dn = data_model.property( + "searchBindDN", str, + array=False, optional=True, + documentation="""A fully qualified DN to log in with to perform an LDAP search for the user (needs read access to the LDAP directory). """, + dictionaryType=None + ) + search_bind_password = data_model.property( + "searchBindPassword", str, + array=False, optional=True, + documentation="""The password for the searchBindDN account used for searching. """, + dictionaryType=None + ) + server_uris = data_model.property( + "serverURIs", str, + array=True, optional=False, + documentation="""A comma-separated list of LDAP server URIs (examples: "ldap://1.2.3.4" and ldaps://1.2.3.4:123") """, + dictionaryType=None + ) + user_dntemplate = data_model.property( + "userDNTemplate", str, + array=False, optional=True, + documentation="""A string that is used to form a fully qualified user DN. The string should have the placeholder text %USERNAME%, which is replaced with the username of the authenticating user. """, + dictionaryType=None + ) + user_search_base_dn = data_model.property( + "userSearchBaseDN", str, + array=False, optional=True, + documentation="""The base DN of the tree to start the search (will do a subtree search from here). """, + dictionaryType=None + ) + user_search_filter = data_model.property( + "userSearchFilter", str, + array=False, optional=True, + documentation="""The LDAP filter to use. The string should have the placeholder text %USERNAME% which is replaced with the username of the authenticating user. Example: (&(objectClass=person)(sAMAccountName=%USERNAME%)) will use the sAMAccountName field in Active Directory to match the username entered at cluster login. """, + dictionaryType=None + ) + + def __init__(self, + server_uris, + auth_type=None, + group_search_base_dn=None, + group_search_custom_filter=None, + group_search_type=None, + search_bind_dn=None, + search_bind_password=None, + user_dntemplate=None, + user_search_base_dn=None, + user_search_filter=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NodeStateInfo(data_model.DataObject): + """NodeStateInfo + + :param cluster: [required] Name of the cluster. + :type cluster: str + + :param state: [required] Available: Node has not been configured with a cluster name.
Pending: Node is pending for a specific named cluster and can be added.
Active: Node is active and a member of a cluster and may not be added to another cluster. + :type state: str + + """ + cluster = data_model.property( + "cluster", str, + array=False, optional=False, + documentation="""Name of the cluster. """, + dictionaryType=None + ) + state = data_model.property( + "state", str, + array=False, optional=False, + documentation="""Available: Node has not been configured with a cluster name.
Pending: Node is pending for a specific named cluster and can be added.
Active: Node is active and a member of a cluster and may not be added to another cluster. """, + dictionaryType=None + ) + + def __init__(self, + cluster, + state): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NodeStateResult(data_model.DataObject): + """NodeStateResult + + :param node_id: [required] ID of the node. + :type node_id: int + + :param result: NodeStateInfo object. + :type result: NodeStateInfo + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""ID of the node. """, + dictionaryType=None + ) + result = data_model.property( + "result", NodeStateInfo, + array=False, optional=True, + documentation="""NodeStateInfo object. """, + dictionaryType=None + ) + + def __init__(self, + node_id, + result=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterStateResult(data_model.DataObject): + """GetClusterStateResult + + :param nodes: Array of NodeStateResult objects for each node in the cluster. + :type nodes: NodeStateResult + + :param cluster: + :type cluster: str + + :param state: + :type state: str + + """ + nodes = data_model.property( + "nodes", NodeStateResult, + array=True, optional=True, + documentation="""Array of NodeStateResult objects for each node in the cluster. """, + dictionaryType=None + ) + cluster = data_model.property( + "cluster", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + state = data_model.property( + "state", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + nodes=None, + cluster=None, + state=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EnableEncryptionAtRestResult(data_model.DataObject): + """EnableEncryptionAtRestResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyBackupTargetResult(data_model.DataObject): + """ModifyBackupTargetResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CancelCloneRequest(data_model.DataObject): + """CancelCloneRequest + CancelClone enables you to stop an ongoing CloneVolume or CopyVolume process. When you cancel a group clone operation, the + system completes and removes the operation's associated asyncHandle. + + :param clone_id: [required] The cloneID for the ongoing clone process. + :type clone_id: int + + """ + clone_id = data_model.property( + "cloneID", int, + array=False, optional=False, + documentation="""The cloneID for the ongoing clone process. """, + dictionaryType=None + ) + + def __init__(self, + clone_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetAccountResult(data_model.DataObject): + """GetAccountResult + + :param account: [required] Account details. + :type account: Account + + """ + account = data_model.property( + "account", Account, + array=False, optional=False, + documentation="""Account details. """, + dictionaryType=None + ) + + def __init__(self, + account): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetAccountByIDRequest(data_model.DataObject): + """GetAccountByIDRequest + GetAccountByID enables you to return details about a specific account, given its accountID. + + :param account_id: [required] Specifies the account for which details are gathered. + :type account_id: int + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""Specifies the account for which details are gathered. """, + dictionaryType=None + ) + + def __init__(self, + account_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectEnsembleRequest(data_model.DataObject): + """TestConnectEnsembleRequest + The TestConnectEnsemble API method enables you to verify connectivity with a specified database ensemble. By default, it uses the ensemble for the cluster that the node is associated with. Alternatively, you can provide a different ensemble to test connectivity with. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param ensemble: Uses a comma-separated list of ensemble node cluster IP addresses to test connectivity. This parameter is optional. + :type ensemble: str + + """ + ensemble = data_model.property( + "ensemble", str, + array=False, optional=True, + documentation="""Uses a comma-separated list of ensemble node cluster IP addresses to test connectivity. This parameter is optional. """, + dictionaryType=None + ) + + def __init__(self, + ensemble=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RollbackToSnapshotResult(data_model.DataObject): + """RollbackToSnapshotResult + + :param snapshot: + :type snapshot: Snapshot + + :param snapshot_id: ID of the newly-created snapshot. + :type snapshot_id: int + + :param checksum: A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. + :type checksum: str + + """ + snapshot = data_model.property( + "snapshot", Snapshot, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=True, + documentation="""ID of the newly-created snapshot. """, + dictionaryType=None + ) + checksum = data_model.property( + "checksum", str, + array=False, optional=True, + documentation="""A string that represents the correct digits in the stored snapshot. This checksum can be used later to compare other snapshots to detect errors in the data. """, + dictionaryType=None + ) + + def __init__(self, + snapshot=None, + snapshot_id=None, + checksum=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetSystemStatusResult(data_model.DataObject): + """GetSystemStatusResult + + :param reboot_required: [required] + :type reboot_required: bool + + """ + reboot_required = data_model.property( + "rebootRequired", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + reboot_required): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterHardwareInfoRequest(data_model.DataObject): + """GetClusterHardwareInfoRequest + You can use the GetClusterHardwareInfo method to retrieve the hardware status and information for all Fibre Channel nodes, iSCSI + nodes and drives in the cluster. This generally includes details about manufacturers, vendors, versions, and other associated hardware + identification information. + + :param type: Includes only a certain type of hardware information in the response. Possible values are: drives: List only drive information in the response. nodes: List only node information in the response. all: Include both drive and node information in the response. If this parameter is omitted, a type of "all" is assumed. + :type type: str + + """ + type = data_model.property( + "type", str, + array=False, optional=True, + documentation="""Includes only a certain type of hardware information in the response. Possible values are: drives: List only drive information in the response. nodes: List only node information in the response. all: Include both drive and node information in the response. If this parameter is omitted, a type of "all" is assumed. """, + dictionaryType=None + ) + + def __init__(self, + type=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveBackupTargetRequest(data_model.DataObject): + """RemoveBackupTargetRequest + RemoveBackupTarget allows you to delete backup targets. + + :param backup_target_id: [required] The unique target ID of the target to remove. + :type backup_target_id: int + + """ + backup_target_id = data_model.property( + "backupTargetID", int, + array=False, optional=False, + documentation="""The unique target ID of the target to remove. """, + dictionaryType=None + ) + + def __init__(self, + backup_target_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateVolumeRequest(data_model.DataObject): + """CreateVolumeRequest + CreateVolume enables you to create a new (empty) volume on the cluster. As soon as the volume creation is complete, the volume is + available for connection via iSCSI. + + :param name: [required] The name of the volume access group (might be user specified). Not required to be unique, but recommended. Might be 1 to 64 characters in length. + :type name: str + + :param account_id: [required] AccountID for the owner of this volume. + :type account_id: int + + :param total_size: [required] Total size of the volume, in bytes. Size is rounded up to the nearest 1MB size. + :type total_size: int + + :param enable512e: [required] Specifies whether 512e emulation is enabled or not. Possible values are: true: The volume provides 512-byte sector emulation. false: 512e emulation is not enabled. + :type enable512e: bool + + :param qos: Initial quality of service settings for this volume. Default values are used if none are specified. Valid settings are: minIOPS maxIOPS burstIOPS You can get the default values for a volume by using the GetDefaultQoS method. + :type qos: QoS + + :param attributes: The list of name-value pairs in JSON object format. Total attribute size must be less than 1000B, or 1KB, including JSON formatting characters. + :type attributes: dict + + :param associate_with_qos_policy: Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. + :type associate_with_qos_policy: bool + + :param qos_policy_id: The ID for the policy whose QoS settings should be applied to the specified volumes. This parameter is mutually exclusive with the qos parameter. + :type qos_policy_id: int + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name of the volume access group (might be user specified). Not required to be unique, but recommended. Might be 1 to 64 characters in length. """, + dictionaryType=None + ) + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""AccountID for the owner of this volume. """, + dictionaryType=None + ) + total_size = data_model.property( + "totalSize", int, + array=False, optional=False, + documentation="""Total size of the volume, in bytes. Size is rounded up to the nearest 1MB size. """, + dictionaryType=None + ) + enable512e = data_model.property( + "enable512e", bool, + array=False, optional=False, + documentation="""Specifies whether 512e emulation is enabled or not. Possible values are: true: The volume provides 512-byte sector emulation. false: 512e emulation is not enabled. """, + dictionaryType=None + ) + qos = data_model.property( + "qos", QoS, + array=False, optional=True, + documentation="""Initial quality of service settings for this volume. Default values are used if none are specified. Valid settings are: minIOPS maxIOPS burstIOPS You can get the default values for a volume by using the GetDefaultQoS method. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""The list of name-value pairs in JSON object format. Total attribute size must be less than 1000B, or 1KB, including JSON formatting characters. """, + dictionaryType=None + ) + associate_with_qos_policy = data_model.property( + "associateWithQoSPolicy", bool, + array=False, optional=True, + documentation="""Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. """, + dictionaryType=None + ) + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=True, + documentation="""The ID for the policy whose QoS settings should be applied to the specified volumes. This parameter is mutually exclusive with the qos parameter. """, + dictionaryType=None + ) + + def __init__(self, + name, + account_id, + total_size, + enable512e, + qos=None, + attributes=None, + associate_with_qos_policy=None, + qos_policy_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateClusterResult(data_model.DataObject): + """CreateClusterResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetConfigRequest(data_model.DataObject): + """SetConfigRequest + The SetConfig API method enables you to set all the configuration information for the node. This includes the same information available via calls to SetClusterConfig and SetNetworkConfig in one API method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + Caution: Changing the "bond-mode" on a node can cause a temporary loss of network connectivity. Exercise caution when using this method. + + :param config: [required] Objects that you want changed for the cluster interface settings. + :type config: ConfigParams + + """ + config = data_model.property( + "config", ConfigParams, + array=False, optional=False, + documentation="""Objects that you want changed for the cluster interface settings. """, + dictionaryType=None + ) + + def __init__(self, + config): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumesRequest(data_model.DataObject): + """ModifyVolumesRequest + ModifyVolumes allows you to configure up to 500 existing volumes at one time. Changes take place immediately. + If ModifyVolumes fails to modify any of the specified volumes, none of the specified volumes are changed. + If you do not specify QoS values when you modify volumes, the QoS values for each volume remain unchanged. + You can retrieve default QoS values for a newly created volume by running the GetDefaultQoS method. + When you need to increase the size of volumes that are being replicated, do so in the following order + to prevent replication errors: + Increase the size of the "Replication Target" volume. + Increase the size of the source or "Read / Write" volume. + Recommend that both the target and source volumes be the same size. + NOTE: If you change access status to locked or replicationTarget all existing iSCSI connections are terminated. + + :param volume_ids: [required] A list of volumeIDs for the volumes to be modified. + :type volume_ids: int + + :param account_id: AccountID to which the volume is reassigned. If none is specified, the previous account name is used. + :type account_id: int + + :param access: Access allowed for the volume. Possible values:readOnly: Only read operations are allowed.readWrite: Reads and writes are allowed.locked: No reads or writes are allowed.If not specified, the access value does not change.replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked.If a value is not specified, the access value does not change. + :type access: str + + :param qos: New quality of service settings for this volume.If not specified, the QoS settings are not changed. + :type qos: QoS + + :param total_size: New size of the volume in bytes. 1000000000 is equal to 1GB. Size is rounded up to the nearest 1MB in size. This parameter can only be used to increase the size of a volume. + :type total_size: int + + :param associate_with_qos_policy: Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. + :type associate_with_qos_policy: bool + + :param qos_policy_id: The ID for the policy whose QoS settings should be applied to the specified volumes. This parameter is mutually exclusive with the qos parameter. + :type qos_policy_id: int + + :param attributes: List of name/value pairs in JSON object format. + :type attributes: dict + + """ + volume_ids = data_model.property( + "volumeIDs", int, + array=True, optional=False, + documentation="""A list of volumeIDs for the volumes to be modified. """, + dictionaryType=None + ) + account_id = data_model.property( + "accountID", int, + array=False, optional=True, + documentation="""AccountID to which the volume is reassigned. If none is specified, the previous account name is used. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=False, optional=True, + documentation="""Access allowed for the volume. Possible values:readOnly: Only read operations are allowed.readWrite: Reads and writes are allowed.locked: No reads or writes are allowed.If not specified, the access value does not change.replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked.If a value is not specified, the access value does not change. """, + dictionaryType=None + ) + qos = data_model.property( + "qos", QoS, + array=False, optional=True, + documentation="""New quality of service settings for this volume.If not specified, the QoS settings are not changed. """, + dictionaryType=None + ) + total_size = data_model.property( + "totalSize", int, + array=False, optional=True, + documentation="""New size of the volume in bytes. 1000000000 is equal to 1GB. Size is rounded up to the nearest 1MB in size. This parameter can only be used to increase the size of a volume. """, + dictionaryType=None + ) + associate_with_qos_policy = data_model.property( + "associateWithQoSPolicy", bool, + array=False, optional=True, + documentation="""Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. """, + dictionaryType=None + ) + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=True, + documentation="""The ID for the policy whose QoS settings should be applied to the specified volumes. This parameter is mutually exclusive with the qos parameter. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name/value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + volume_ids, + account_id=None, + access=None, + qos=None, + total_size=None, + associate_with_qos_policy=None, + qos_policy_id=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListPendingNodesResult(data_model.DataObject): + """ListPendingNodesResult + + :param pending_nodes: [required] + :type pending_nodes: PendingNode + + """ + pending_nodes = data_model.property( + "pendingNodes", PendingNode, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + pending_nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CancelGroupCloneResult(data_model.DataObject): + """CancelGroupCloneResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListActivePairedVolumesResult(data_model.DataObject): + """ListActivePairedVolumesResult + + :param volumes: [required] Volume information for the paired volumes. + :type volumes: Volume + + """ + volumes = data_model.property( + "volumes", Volume, + array=True, optional=False, + documentation="""Volume information for the paired volumes. """, + dictionaryType=None + ) + + def __init__(self, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RestoreDeletedVolumeRequest(data_model.DataObject): + """RestoreDeletedVolumeRequest + RestoreDeletedVolume marks a deleted volume as active again. This action makes the volume immediately available for iSCSI connection. + + :param volume_id: [required] VolumeID of the deleted volume to be restored. + :type volume_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""VolumeID of the deleted volume to be restored. """, + dictionaryType=None + ) + + def __init__(self, + volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetNtpInfoRequest(data_model.DataObject): + """SetNtpInfoRequest + SetNtpInfo enables you to configure NTP on cluster nodes. The values you set with this interface apply to all nodes in the cluster. If an NTP broadcast server periodically broadcasts time information on your network, you can optionally configure nodes as broadcast clients. + Note: NetApp recommends using NTP servers that are internal to your network, rather than the installation defaults. + + :param servers: [required] List of NTP servers to add to each nodes NTP configuration. + :type servers: str + + :param broadcastclient: Enables every node in the cluster as a broadcast client. + :type broadcastclient: bool + + """ + servers = data_model.property( + "servers", str, + array=True, optional=False, + documentation="""List of NTP servers to add to each nodes NTP configuration. """, + dictionaryType=None + ) + broadcastclient = data_model.property( + "broadcastclient", bool, + array=False, optional=True, + documentation="""Enables every node in the cluster as a broadcast client. """, + dictionaryType=None + ) + + def __init__(self, + servers, + broadcastclient=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StartClusterPairingResult(data_model.DataObject): + """StartClusterPairingResult + + :param cluster_pairing_key: [required] A string of characters that is used by the "CompleteClusterPairing" API method. + :type cluster_pairing_key: str + + :param cluster_pair_id: [required] Unique identifier for the cluster pair. + :type cluster_pair_id: int + + """ + cluster_pairing_key = data_model.property( + "clusterPairingKey", str, + array=False, optional=False, + documentation="""A string of characters that is used by the "CompleteClusterPairing" API method. """, + dictionaryType=None + ) + cluster_pair_id = data_model.property( + "clusterPairID", int, + array=False, optional=False, + documentation="""Unique identifier for the cluster pair. """, + dictionaryType=None + ) + + def __init__(self, + cluster_pairing_key, + cluster_pair_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveVolumePairResult(data_model.DataObject): + """RemoveVolumePairResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveAccountRequest(data_model.DataObject): + """RemoveAccountRequest + RemoveAccount enables you to remove an existing account. You must delete and purge all volumes associated with the account + using DeleteVolume before you can remove the account. If volumes on the account are still pending deletion, you cannot use + RemoveAccount to remove the account. + + :param account_id: [required] Specifies the AccountID for the account to be removed. + :type account_id: int + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""Specifies the AccountID for the account to be removed. """, + dictionaryType=None + ) + + def __init__(self, + account_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateStorageContainerResult(data_model.DataObject): + """CreateStorageContainerResult + + :param storage_container: [required] + :type storage_container: StorageContainer + + """ + storage_container = data_model.property( + "storageContainer", StorageContainer, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + storage_container): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteGroupSnapshotResult(data_model.DataObject): + """DeleteGroupSnapshotResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVirtualVolumeCountResult(data_model.DataObject): + """GetVirtualVolumeCountResult + + :param count: [required] The number of virtual volumes currently in the system. + :type count: int + + """ + count = data_model.property( + "count", int, + array=False, optional=False, + documentation="""The number of virtual volumes currently in the system. """, + dictionaryType=None + ) + + def __init__(self, + count): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListGroupSnapshotsResult(data_model.DataObject): + """ListGroupSnapshotsResult + + :param group_snapshots: [required] List of Group Snapshots. + :type group_snapshots: GroupSnapshot + + """ + group_snapshots = data_model.property( + "groupSnapshots", GroupSnapshot, + array=True, optional=False, + documentation="""List of Group Snapshots. """, + dictionaryType=None + ) + + def __init__(self, + group_snapshots): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNvramInfoRequest(data_model.DataObject): + """GetNvramInfoRequest + GetNvramInfo enables you to retrieve information from each node about the NVRAM card. + + :param force: Required parameter to successfully run on all nodes in the cluster. + :type force: bool + + """ + force = data_model.property( + "force", bool, + array=False, optional=True, + documentation="""Required parameter to successfully run on all nodes in the cluster. """, + dictionaryType=None + ) + + def __init__(self, + force=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeEfficiencyResult(data_model.DataObject): + """GetVolumeEfficiencyResult + + :param compression: The amount of space being saved by compressing data on a single volume. Stated as a ratio where "1" means data has been stored without being compressed. + :type compression: float + + :param deduplication: [required] The amount of space being saved on a single volume by not duplicating data. Stated as a ratio. + :type deduplication: float + + :param missing_volumes: [required] The volumes that could not be queried for efficiency data. Missing volumes can be caused by GC being less than hour old, temporary network loss or restarted services since the GC cycle. + :type missing_volumes: int + + :param thin_provisioning: [required] The ratio of space used to the amount of space allocated for storing data. Stated as a ratio. + :type thin_provisioning: float + + :param timestamp: [required] The last time efficiency data was collected after Garbage Collection (GC). + :type timestamp: str + + """ + compression = data_model.property( + "compression", float, + array=False, optional=True, + documentation="""The amount of space being saved by compressing data on a single volume. Stated as a ratio where "1" means data has been stored without being compressed. """, + dictionaryType=None + ) + deduplication = data_model.property( + "deduplication", float, + array=False, optional=False, + documentation="""The amount of space being saved on a single volume by not duplicating data. Stated as a ratio. """, + dictionaryType=None + ) + missing_volumes = data_model.property( + "missingVolumes", int, + array=True, optional=False, + documentation="""The volumes that could not be queried for efficiency data. Missing volumes can be caused by GC being less than hour old, temporary network loss or restarted services since the GC cycle. """, + dictionaryType=None + ) + thin_provisioning = data_model.property( + "thinProvisioning", float, + array=False, optional=False, + documentation="""The ratio of space used to the amount of space allocated for storing data. Stated as a ratio. """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""The last time efficiency data was collected after Garbage Collection (GC). """, + dictionaryType=None + ) + + def __init__(self, + deduplication, + missing_volumes, + thin_provisioning, + timestamp, + compression=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PendingOperation(data_model.DataObject): + """PendingOperation + + :param pending: [required] true: operation is still in progress. false: operation is no integerer in progress. + :type pending: bool + + :param operation: [required] Name of operation that is in progress or has completed. + :type operation: str + + """ + pending = data_model.property( + "pending", bool, + array=False, optional=False, + documentation="""true: operation is still in progress. false: operation is no integerer in progress. """, + dictionaryType=None + ) + operation = data_model.property( + "operation", str, + array=False, optional=False, + documentation="""Name of operation that is in progress or has completed. """, + dictionaryType=None + ) + + def __init__(self, + pending, + operation): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetPendingOperationResult(data_model.DataObject): + """GetPendingOperationResult + + :param pending_operation: [required] + :type pending_operation: PendingOperation + + """ + pending_operation = data_model.property( + "pendingOperation", PendingOperation, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + pending_operation): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CloneMultipleVolumeParams(data_model.DataObject): + """CloneMultipleVolumeParams + + :param volume_id: [required] Required parameter for "volumes" array: volumeID. + :type volume_id: int + + :param access: Access settings for the new volume. readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If unspecified, the access settings of the clone will be the same as the source. + :type access: str + + :param name: New name for the clone. + :type name: str + + :param new_account_id: Account ID for the new volume. + :type new_account_id: int + + :param new_size: New size Total size of the volume, in bytes. Size is rounded up to the nearest 1MB size. + :type new_size: int + + :param attributes: List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""Required parameter for "volumes" array: volumeID. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=False, optional=True, + documentation="""Access settings for the new volume. readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If unspecified, the access settings of the clone will be the same as the source. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""New name for the clone. """, + dictionaryType=None + ) + new_account_id = data_model.property( + "newAccountID", int, + array=False, optional=True, + documentation="""Account ID for the new volume. """, + dictionaryType=None + ) + new_size = data_model.property( + "newSize", int, + array=False, optional=True, + documentation="""New size Total size of the volume, in bytes. Size is rounded up to the nearest 1MB size. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + access=None, + name=None, + new_account_id=None, + new_size=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetNtpInfoResult(data_model.DataObject): + """SetNtpInfoResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeAccessGroupEfficiencyRequest(data_model.DataObject): + """GetVolumeAccessGroupEfficiencyRequest + GetVolumeAccessGroupEfficiency enables you to + retrieve efficiency information about a volume access + group. Only the volume access group you provide as the + parameter in this API method is used to compute the + capacity. + + :param volume_access_group_id: [required] The volume access group for which capacity is computed. + :type volume_access_group_id: int + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The volume access group for which capacity is computed. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumePairResult(data_model.DataObject): + """ModifyVolumePairResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateInitiator(data_model.DataObject): + """CreateInitiator + Object containing characteristics of each new initiator. + + :param name: [required] (Required) The name of the initiator (IQN or WWPN) to create. (String) + :type name: str + + :param alias: (Optional) The friendly name to assign to this initiator. (String) + :type alias: str + + :param volume_access_group_id: (Optional) The ID of the volume access group to which this newly created initiator will be added. (Integer) + :type volume_access_group_id: int + + :param attributes: (Optional) A set of JSON attributes assigned to this initiator. (JSON Object) + :type attributes: dict + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""(Required) The name of the initiator (IQN or WWPN) to create. (String) """, + dictionaryType=None + ) + alias = data_model.property( + "alias", str, + array=False, optional=True, + documentation="""(Optional) The friendly name to assign to this initiator. (String) """, + dictionaryType=None + ) + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=True, + documentation="""(Optional) The ID of the volume access group to which this newly created initiator will be added. (Integer) """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""(Optional) A set of JSON attributes assigned to this initiator. (JSON Object) """, + dictionaryType=None + ) + + def __init__(self, + name, + alias=None, + volume_access_group_id=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateInitiatorsRequest(data_model.DataObject): + """CreateInitiatorsRequest + CreateInitiators enables you to create multiple new initiator IQNs or World Wide Port Names (WWPNs) and optionally assign them + aliases and attributes. When you use CreateInitiators to create new initiators, you can also add them to volume access groups. + If CreateInitiators fails to create one of the initiators provided in the parameter, the method returns an error and does not create + any initiators (no partial completion is possible). + + :param initiators: [required] A list of objects containing characteristics of each new initiator. Values are: name: (Required) The name of the initiator (IQN or WWPN) to create. (String) alias: (Optional) The friendly name to assign to this initiator. (String) attributes: (Optional) A set of JSON attributes to assign to this initiator. (JSON Object) volumeAccessGroupID: (Optional) The ID of the volume access group into to which this newly created initiator will be added. (Integer) + :type initiators: CreateInitiator + + """ + initiators = data_model.property( + "initiators", CreateInitiator, + array=True, optional=False, + documentation="""A list of objects containing characteristics of each new initiator. Values are: name: (Required) The name of the initiator (IQN or WWPN) to create. (String) alias: (Optional) The friendly name to assign to this initiator. (String) attributes: (Optional) A set of JSON attributes to assign to this initiator. (JSON Object) volumeAccessGroupID: (Optional) The ID of the volume access group into to which this newly created initiator will be added. (Integer) """, + dictionaryType=None + ) + + def __init__(self, + initiators): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterFullThresholdResult(data_model.DataObject): + """GetClusterFullThresholdResult + + :param block_fullness: [required] Current computed level of block fullness of the cluster. Possible values: stage1Happy: No alerts or error conditions. stage2Aware: 3 nodes of capacity available. stage3Low: 2 nodes of capacity available. stage4Critical: 1 node of capacity available. No new volumes or clones can be created. stage5CompletelyConsumed: Completely consumed. Cluster is read-only, iSCSI connection is maintained but all writes are suspended. + :type block_fullness: str + + :param fullness: [required] Reflects the highest level of fullness between "blockFullness" and "metadataFullness". + :type fullness: str + + :param max_metadata_over_provision_factor: [required] A value representative of the number of times metadata space can be over provisioned relative to the amount of space available. For example, if there was enough metadata space to store 100 TiB of volumes and this number was set to 5, then 500 TiB worth of volumes could be created. + :type max_metadata_over_provision_factor: int + + :param metadata_fullness: [required] Current computed level of metadata fullness of the cluster. + :type metadata_fullness: str + + :param slice_reserve_used_threshold_pct: [required] Error condition; message sent to "Alerts" if the reserved slice utilization is greater than the sliceReserveUsedThresholdPct value returned. + :type slice_reserve_used_threshold_pct: int + + :param stage2_aware_threshold: [required] Awareness condition: Value that is set for "Stage 2" cluster threshold level. + :type stage2_aware_threshold: int + + :param stage2_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage2 condition will exist. + :type stage2_block_threshold_bytes: int + + :param stage3_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage3 condition will exist. + :type stage3_block_threshold_bytes: int + + :param stage3_block_threshold_percent: [required] The percent value set for stage3. At this percent full, a warning will be posted in the Alerts log. + :type stage3_block_threshold_percent: int + + :param stage3_low_threshold: [required] Error condition; message sent to "Alerts" that capacity on a cluster is getting low. + :type stage3_low_threshold: int + + :param stage4_critical_threshold: [required] Error condition; message sent to "Alerts" that capacity on a cluster is critically low. + :type stage4_critical_threshold: int + + :param stage4_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage4 condition will exist. + :type stage4_block_threshold_bytes: int + + :param stage5_block_threshold_bytes: [required] Number of bytes being used by the cluster at which a stage5 condition will exist. + :type stage5_block_threshold_bytes: int + + :param sum_total_cluster_bytes: [required] Physical capacity of the cluster measured in bytes. + :type sum_total_cluster_bytes: int + + :param sum_total_metadata_cluster_bytes: [required] Total amount of space that can be used to store metadata. + :type sum_total_metadata_cluster_bytes: int + + :param sum_used_cluster_bytes: [required] Number of bytes used on the cluster. + :type sum_used_cluster_bytes: int + + :param sum_used_metadata_cluster_bytes: [required] Amount of space used on volume drives to store metadata. + :type sum_used_metadata_cluster_bytes: int + + """ + block_fullness = data_model.property( + "blockFullness", str, + array=False, optional=False, + documentation="""Current computed level of block fullness of the cluster. Possible values: stage1Happy: No alerts or error conditions. stage2Aware: 3 nodes of capacity available. stage3Low: 2 nodes of capacity available. stage4Critical: 1 node of capacity available. No new volumes or clones can be created. stage5CompletelyConsumed: Completely consumed. Cluster is read-only, iSCSI connection is maintained but all writes are suspended. """, + dictionaryType=None + ) + fullness = data_model.property( + "fullness", str, + array=False, optional=False, + documentation="""Reflects the highest level of fullness between "blockFullness" and "metadataFullness". """, + dictionaryType=None + ) + max_metadata_over_provision_factor = data_model.property( + "maxMetadataOverProvisionFactor", int, + array=False, optional=False, + documentation="""A value representative of the number of times metadata space can be over provisioned relative to the amount of space available. For example, if there was enough metadata space to store 100 TiB of volumes and this number was set to 5, then 500 TiB worth of volumes could be created. """, + dictionaryType=None + ) + metadata_fullness = data_model.property( + "metadataFullness", str, + array=False, optional=False, + documentation="""Current computed level of metadata fullness of the cluster. """, + dictionaryType=None + ) + slice_reserve_used_threshold_pct = data_model.property( + "sliceReserveUsedThresholdPct", int, + array=False, optional=False, + documentation="""Error condition; message sent to "Alerts" if the reserved slice utilization is greater than the sliceReserveUsedThresholdPct value returned. """, + dictionaryType=None + ) + stage2_aware_threshold = data_model.property( + "stage2AwareThreshold", int, + array=False, optional=False, + documentation="""Awareness condition: Value that is set for "Stage 2" cluster threshold level. """, + dictionaryType=None + ) + stage2_block_threshold_bytes = data_model.property( + "stage2BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage2 condition will exist. """, + dictionaryType=None + ) + stage3_block_threshold_bytes = data_model.property( + "stage3BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage3 condition will exist. """, + dictionaryType=None + ) + stage3_block_threshold_percent = data_model.property( + "stage3BlockThresholdPercent", int, + array=False, optional=False, + documentation="""The percent value set for stage3. At this percent full, a warning will be posted in the Alerts log. """, + dictionaryType=None + ) + stage3_low_threshold = data_model.property( + "stage3LowThreshold", int, + array=False, optional=False, + documentation="""Error condition; message sent to "Alerts" that capacity on a cluster is getting low. """, + dictionaryType=None + ) + stage4_critical_threshold = data_model.property( + "stage4CriticalThreshold", int, + array=False, optional=False, + documentation="""Error condition; message sent to "Alerts" that capacity on a cluster is critically low. """, + dictionaryType=None + ) + stage4_block_threshold_bytes = data_model.property( + "stage4BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage4 condition will exist. """, + dictionaryType=None + ) + stage5_block_threshold_bytes = data_model.property( + "stage5BlockThresholdBytes", int, + array=False, optional=False, + documentation="""Number of bytes being used by the cluster at which a stage5 condition will exist. """, + dictionaryType=None + ) + sum_total_cluster_bytes = data_model.property( + "sumTotalClusterBytes", int, + array=False, optional=False, + documentation="""Physical capacity of the cluster measured in bytes. """, + dictionaryType=None + ) + sum_total_metadata_cluster_bytes = data_model.property( + "sumTotalMetadataClusterBytes", int, + array=False, optional=False, + documentation="""Total amount of space that can be used to store metadata. """, + dictionaryType=None + ) + sum_used_cluster_bytes = data_model.property( + "sumUsedClusterBytes", int, + array=False, optional=False, + documentation="""Number of bytes used on the cluster. """, + dictionaryType=None + ) + sum_used_metadata_cluster_bytes = data_model.property( + "sumUsedMetadataClusterBytes", int, + array=False, optional=False, + documentation="""Amount of space used on volume drives to store metadata. """, + dictionaryType=None + ) + + def __init__(self, + block_fullness, + fullness, + max_metadata_over_provision_factor, + metadata_fullness, + slice_reserve_used_threshold_pct, + stage2_aware_threshold, + stage2_block_threshold_bytes, + stage3_block_threshold_bytes, + stage3_block_threshold_percent, + stage3_low_threshold, + stage4_critical_threshold, + stage4_block_threshold_bytes, + stage5_block_threshold_bytes, + sum_total_cluster_bytes, + sum_total_metadata_cluster_bytes, + sum_used_cluster_bytes, + sum_used_metadata_cluster_bytes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumesForAccountRequest(data_model.DataObject): + """ListVolumesForAccountRequest + ListVolumesForAccount returns the list of active and (pending) deleted volumes for an account. + + :param account_id: [required] Returns all volumes owned by this AccountID. + :type account_id: int + + :param start_volume_id: The ID of the first volume to list. This can be useful for paging results. By default, this starts at the lowest VolumeID. + :type start_volume_id: int + + :param limit: The maximum number of volumes to return from the API. + :type limit: int + + :param include_virtual_volumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type include_virtual_volumes: bool + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""Returns all volumes owned by this AccountID. """, + dictionaryType=None + ) + start_volume_id = data_model.property( + "startVolumeID", int, + array=False, optional=True, + documentation="""The ID of the first volume to list. This can be useful for paging results. By default, this starts at the lowest VolumeID. """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""The maximum number of volumes to return from the API. """, + dictionaryType=None + ) + include_virtual_volumes = data_model.property( + "includeVirtualVolumes", bool, + array=False, optional=True, + documentation="""Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. """, + dictionaryType=None + ) + + def __init__(self, + account_id, + start_volume_id=None, + limit=None, + include_virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DisableEncryptionAtRestResult(data_model.DataObject): + """DisableEncryptionAtRestResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeEfficiencyRequest(data_model.DataObject): + """GetVolumeEfficiencyRequest + GetVolumeEfficiency enables you to retrieve information about a volume. Only the volume you give as a parameter in this API method is used to compute the capacity. + + :param volume_id: [required] Specifies the volume for which capacity is computed. + :type volume_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""Specifies the volume for which capacity is computed. """, + dictionaryType=None + ) + + def __init__(self, + volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVirtualNetworkRequest(data_model.DataObject): + """ModifyVirtualNetworkRequest + You can use ModifyVirtualNetwork to change the attributes of an existing virtual network. This method enables you to add or remove + address blocks, change the netmask, or modify the name or description of the virtual network. You can also use it to enable or + disable namespaces, as well as add or remove a gateway if namespaces are enabled on the virtual network. + Note: This method requires either the VirtualNetworkID or the VirtualNetworkTag as a parameter, but not both. + Caution: Enabling or disabling the Routable Storage VLANs functionality for an existing virtual network by changing the + "namespace" parameter disrupts any traffic handled by the virtual network. NetApp strongly recommends changing the + "namespace" parameter only during a scheduled maintenance window. + + :param virtual_network_id: The unique identifier of the virtual network to modify. This is the virtual network ID assigned by the cluster. Note: This parameter is optional but either virtualNetworkID or virtualNetworkTag must be specified with this API method. + :type virtual_network_id: int + + :param virtual_network_tag: The network tag that identifies the virtual network to modify. Note: This parameter is optional but either virtualNetworkID or virtualNetworkTag must be specified with this API method. + :type virtual_network_tag: int + + :param name: The new name for the virtual network. + :type name: str + + :param address_blocks: The new addressBlock to set for this virtual network. This might contain new address blocks to add to the existing object or omit unused address blocks that need to be removed. Alternatively, you can extend or reduce the size of existing address blocks. You can only increase the size of the starting addressBlocks for a virtual network object; you can never decrease it. Attributes for this parameter are: start: The start of the IP address range. (String) size: The number of IP addresses to include in the block. (Integer) + :type address_blocks: AddressBlockParams + + :param netmask: New network mask for this virtual network. + :type netmask: str + + :param svip: The storage virtual IP address for this virtual network. The svip for a virtual network cannot be changed. You must create a new virtual network to use a different svip address. + :type svip: str + + :param gateway: The IP address of a gateway of the virtual network. This parameter is only valid if the "namespace" parameter is set to true. + :type gateway: str + + :param namespace: When set to true, enables Routable Storage VLANs functionality by recreating the virtual network and configuring a namespace to contain it. When set to false, disables the VRF functionality for the virtual network. Changing this value disrupts traffic running through this virtual network. + :type namespace: bool + + :param attributes: A new list of name-value pairs in JSON object format. + :type attributes: dict + + """ + virtual_network_id = data_model.property( + "virtualNetworkID", int, + array=False, optional=True, + documentation="""The unique identifier of the virtual network to modify. This is the virtual network ID assigned by the cluster. Note: This parameter is optional but either virtualNetworkID or virtualNetworkTag must be specified with this API method. """, + dictionaryType=None + ) + virtual_network_tag = data_model.property( + "virtualNetworkTag", int, + array=False, optional=True, + documentation="""The network tag that identifies the virtual network to modify. Note: This parameter is optional but either virtualNetworkID or virtualNetworkTag must be specified with this API method. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""The new name for the virtual network. """, + dictionaryType=None + ) + address_blocks = data_model.property( + "addressBlocks", AddressBlockParams, + array=True, optional=True, + documentation="""The new addressBlock to set for this virtual network. This might contain new address blocks to add to the existing object or omit unused address blocks that need to be removed. Alternatively, you can extend or reduce the size of existing address blocks. You can only increase the size of the starting addressBlocks for a virtual network object; you can never decrease it. Attributes for this parameter are: start: The start of the IP address range. (String) size: The number of IP addresses to include in the block. (Integer) """, + dictionaryType=None + ) + netmask = data_model.property( + "netmask", str, + array=False, optional=True, + documentation="""New network mask for this virtual network. """, + dictionaryType=None + ) + svip = data_model.property( + "svip", str, + array=False, optional=True, + documentation="""The storage virtual IP address for this virtual network. The svip for a virtual network cannot be changed. You must create a new virtual network to use a different svip address. """, + dictionaryType=None + ) + gateway = data_model.property( + "gateway", str, + array=False, optional=True, + documentation="""The IP address of a gateway of the virtual network. This parameter is only valid if the "namespace" parameter is set to true. """, + dictionaryType=None + ) + namespace = data_model.property( + "namespace", bool, + array=False, optional=True, + documentation="""When set to true, enables Routable Storage VLANs functionality by recreating the virtual network and configuring a namespace to contain it. When set to false, disables the VRF functionality for the virtual network. Changing this value disrupts traffic running through this virtual network. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""A new list of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + virtual_network_id=None, + virtual_network_tag=None, + name=None, + address_blocks=None, + netmask=None, + svip=None, + gateway=None, + namespace=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VirtualVolumeStats(data_model.DataObject): + """VirtualVolumeStats + Contains statistical data for an individual volume. + + :param account_id: [required] AccountID of the volume owner. + :type account_id: int + + :param actual_iops: Current actual IOPS to the volume in the last 500 milliseconds. + :type actual_iops: int + + :param async_delay: The length of time since the volume was last synced with the remote cluster. If the volume is not paired, this is null. Note: A target volume in an active replication state always has an async delay of 0 (zero). Target volumes are system-aware during replication and assume async delay is accurate at all times. + :type async_delay: str + + :param average_iopsize: Average size in bytes of recent I/O to the volume in the last 500 milliseconds. + :type average_iopsize: int + + :param burst_iopscredit: The total number of IOP credits available to the user. When users are not using up to the max IOPS, credits are accrued. + :type burst_iopscredit: int + + :param client_queue_depth: The number of outstanding read and write operations to the cluster. + :type client_queue_depth: int + + :param desired_metadata_hosts: The volume services being migrated to if the volume metadata is getting migrated between volume services. A "null" value means the volume is not migrating. + :type desired_metadata_hosts: MetadataHosts + + :param latency_usec: The observed latency time, in microseconds, to complete operations to a volume. A "0" (zero) value means there is no I/O to the volume. + :type latency_usec: int + + :param metadata_hosts: The volume services on which the volume metadata resides. + :type metadata_hosts: MetadataHosts + + :param non_zero_blocks: [required] The number of 4KiB blocks with data after the last garbage collection operation has completed. + :type non_zero_blocks: int + + :param read_bytes: [required] Total bytes read by clients. + :type read_bytes: int + + :param read_latency_usec: The average time, in microseconds, to complete read operations. + :type read_latency_usec: int + + :param read_ops: [required] Total read operations. + :type read_ops: int + + :param throttle: A floating value between 0 and 1 that represents how much the system is throttling clients below their max IOPS because of re-replication of data, transient errors and snapshots taken. + :type throttle: float + + :param timestamp: [required] The current time in UTC. + :type timestamp: str + + :param total_latency_usec: The average time, in microseconds, to complete read and write operations to a volume. + :type total_latency_usec: int + + :param unaligned_reads: [required] For 512e volumes, the number of read operations that were not on a 4k sector boundary. High numbers of unaligned reads may indicate improper partition alignment. + :type unaligned_reads: int + + :param unaligned_writes: [required] For 512e volumes, the number of write operations that were not on a 4k sector boundary. High numbers of unaligned writes may indicate improper partition alignment. + :type unaligned_writes: int + + :param volume_access_groups: [required] List of volume access group(s) to which a volume beintegers. + :type volume_access_groups: int + + :param volume_id: [required] Volume ID of the volume. + :type volume_id: int + + :param volume_size: [required] Total provisioned capacity in bytes. + :type volume_size: int + + :param volume_utilization: A floating value that describes how much the client is using the volume. Values: 0 = Client is not using the volume 1 = Client is using their max >1 = Client is using their burst + :type volume_utilization: float + + :param write_bytes: [required] Total bytes written by clients. + :type write_bytes: int + + :param write_latency_usec: The average time, in microseconds, to complete write operations. + :type write_latency_usec: int + + :param write_ops: [required] Total write operations occurring on the volume. + :type write_ops: int + + :param zero_blocks: [required] Total number of 4KiB blocks without data after the last round of garbage collection operation has completed. + :type zero_blocks: int + + :param write_bytes_last_sample: The total number of bytes written to the volume during the last sample period. + :type write_bytes_last_sample: int + + :param sample_period_msec: The length of the sample period in milliseconds. + :type sample_period_msec: int + + :param read_bytes_last_sample: The total number of bytes read from the volume during the last sample period. + :type read_bytes_last_sample: int + + :param read_ops_last_sample: The total number of read operations durin gth elast sample period. + :type read_ops_last_sample: int + + :param write_ops_last_sample: The total number of write operations during the last sample period. + :type write_ops_last_sample: int + + :param virtual_volume_id: If the volume of interest is associated with a virtual volume, this is the virtual volume ID. + :type virtual_volume_id: UUID + + """ + account_id = data_model.property( + "accountID", int, + array=False, optional=False, + documentation="""AccountID of the volume owner. """, + dictionaryType=None + ) + actual_iops = data_model.property( + "actualIOPS", int, + array=False, optional=True, + documentation="""Current actual IOPS to the volume in the last 500 milliseconds. """, + dictionaryType=None + ) + async_delay = data_model.property( + "asyncDelay", str, + array=False, optional=True, + documentation="""The length of time since the volume was last synced with the remote cluster. If the volume is not paired, this is null. Note: A target volume in an active replication state always has an async delay of 0 (zero). Target volumes are system-aware during replication and assume async delay is accurate at all times. """, + dictionaryType=None + ) + average_iopsize = data_model.property( + "averageIOPSize", int, + array=False, optional=True, + documentation="""Average size in bytes of recent I/O to the volume in the last 500 milliseconds. """, + dictionaryType=None + ) + burst_iopscredit = data_model.property( + "burstIOPSCredit", int, + array=False, optional=True, + documentation="""The total number of IOP credits available to the user. When users are not using up to the max IOPS, credits are accrued. """, + dictionaryType=None + ) + client_queue_depth = data_model.property( + "clientQueueDepth", int, + array=False, optional=True, + documentation="""The number of outstanding read and write operations to the cluster. """, + dictionaryType=None + ) + desired_metadata_hosts = data_model.property( + "desiredMetadataHosts", MetadataHosts, + array=False, optional=True, + documentation="""The volume services being migrated to if the volume metadata is getting migrated between volume services. A "null" value means the volume is not migrating. """, + dictionaryType=None + ) + latency_usec = data_model.property( + "latencyUSec", int, + array=False, optional=True, + documentation="""The observed latency time, in microseconds, to complete operations to a volume. A "0" (zero) value means there is no I/O to the volume. """, + dictionaryType=None + ) + metadata_hosts = data_model.property( + "metadataHosts", MetadataHosts, + array=False, optional=True, + documentation="""The volume services on which the volume metadata resides. """, + dictionaryType=None + ) + non_zero_blocks = data_model.property( + "nonZeroBlocks", int, + array=False, optional=False, + documentation="""The number of 4KiB blocks with data after the last garbage collection operation has completed. """, + dictionaryType=None + ) + read_bytes = data_model.property( + "readBytes", int, + array=False, optional=False, + documentation="""Total bytes read by clients. """, + dictionaryType=None + ) + read_latency_usec = data_model.property( + "readLatencyUSec", int, + array=False, optional=True, + documentation="""The average time, in microseconds, to complete read operations. """, + dictionaryType=None + ) + read_ops = data_model.property( + "readOps", int, + array=False, optional=False, + documentation="""Total read operations. """, + dictionaryType=None + ) + throttle = data_model.property( + "throttle", float, + array=False, optional=True, + documentation="""A floating value between 0 and 1 that represents how much the system is throttling clients below their max IOPS because of re-replication of data, transient errors and snapshots taken. """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""The current time in UTC. """, + dictionaryType=None + ) + total_latency_usec = data_model.property( + "totalLatencyUSec", int, + array=False, optional=True, + documentation="""The average time, in microseconds, to complete read and write operations to a volume. """, + dictionaryType=None + ) + unaligned_reads = data_model.property( + "unalignedReads", int, + array=False, optional=False, + documentation="""For 512e volumes, the number of read operations that were not on a 4k sector boundary. High numbers of unaligned reads may indicate improper partition alignment. """, + dictionaryType=None + ) + unaligned_writes = data_model.property( + "unalignedWrites", int, + array=False, optional=False, + documentation="""For 512e volumes, the number of write operations that were not on a 4k sector boundary. High numbers of unaligned writes may indicate improper partition alignment. """, + dictionaryType=None + ) + volume_access_groups = data_model.property( + "volumeAccessGroups", int, + array=True, optional=False, + documentation="""List of volume access group(s) to which a volume beintegers. """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""Volume ID of the volume. """, + dictionaryType=None + ) + volume_size = data_model.property( + "volumeSize", int, + array=False, optional=False, + documentation="""Total provisioned capacity in bytes. """, + dictionaryType=None + ) + volume_utilization = data_model.property( + "volumeUtilization", float, + array=False, optional=True, + documentation="""A floating value that describes how much the client is using the volume. Values: 0 = Client is not using the volume 1 = Client is using their max >1 = Client is using their burst """, + dictionaryType=None + ) + write_bytes = data_model.property( + "writeBytes", int, + array=False, optional=False, + documentation="""Total bytes written by clients. """, + dictionaryType=None + ) + write_latency_usec = data_model.property( + "writeLatencyUSec", int, + array=False, optional=True, + documentation="""The average time, in microseconds, to complete write operations. """, + dictionaryType=None + ) + write_ops = data_model.property( + "writeOps", int, + array=False, optional=False, + documentation="""Total write operations occurring on the volume. """, + dictionaryType=None + ) + zero_blocks = data_model.property( + "zeroBlocks", int, + array=False, optional=False, + documentation="""Total number of 4KiB blocks without data after the last round of garbage collection operation has completed. """, + dictionaryType=None + ) + write_bytes_last_sample = data_model.property( + "writeBytesLastSample", int, + array=False, optional=True, + documentation="""The total number of bytes written to the volume during the last sample period. """, + dictionaryType=None + ) + sample_period_msec = data_model.property( + "samplePeriodMSec", int, + array=False, optional=True, + documentation="""The length of the sample period in milliseconds. """, + dictionaryType=None + ) + read_bytes_last_sample = data_model.property( + "readBytesLastSample", int, + array=False, optional=True, + documentation="""The total number of bytes read from the volume during the last sample period. """, + dictionaryType=None + ) + read_ops_last_sample = data_model.property( + "readOpsLastSample", int, + array=False, optional=True, + documentation="""The total number of read operations durin gth elast sample period. """, + dictionaryType=None + ) + write_ops_last_sample = data_model.property( + "writeOpsLastSample", int, + array=False, optional=True, + documentation="""The total number of write operations during the last sample period. """, + dictionaryType=None + ) + virtual_volume_id = data_model.property( + "virtualVolumeID", UUID, + array=False, optional=True, + documentation="""If the volume of interest is associated with a virtual volume, this is the virtual volume ID. """, + dictionaryType=None + ) + + def __init__(self, + account_id, + non_zero_blocks, + read_bytes, + read_ops, + timestamp, + unaligned_reads, + unaligned_writes, + volume_access_groups, + volume_id, + volume_size, + write_bytes, + write_ops, + zero_blocks, + actual_iops=None, + async_delay=None, + average_iopsize=None, + burst_iopscredit=None, + client_queue_depth=None, + desired_metadata_hosts=None, + latency_usec=None, + metadata_hosts=None, + read_latency_usec=None, + throttle=None, + total_latency_usec=None, + volume_utilization=None, + write_latency_usec=None, + write_bytes_last_sample=None, + sample_period_msec=None, + read_bytes_last_sample=None, + read_ops_last_sample=None, + write_ops_last_sample=None, + virtual_volume_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByVirtualVolumeResult(data_model.DataObject): + """ListVolumeStatsByVirtualVolumeResult + + :param volume_stats: [required] + :type volume_stats: VirtualVolumeStats + + """ + volume_stats = data_model.property( + "volumeStats", VirtualVolumeStats, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + volume_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumesForAccountResult(data_model.DataObject): + """ListVolumesForAccountResult + + :param volumes: [required] List of volumes. + :type volumes: Volume + + """ + volumes = data_model.property( + "volumes", Volume, + array=True, optional=False, + documentation="""List of volumes. """, + dictionaryType=None + ) + + def __init__(self, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNodeHardwareInfoRequest(data_model.DataObject): + """GetNodeHardwareInfoRequest + GetNodeHardwareInfo enables you to return all the hardware information and status for the node specified. This generally includes details about + manufacturers, vendors, versions, and other associated hardware identification information. + + :param node_id: [required] The ID of the node for which hardware information is being requested. Information about a Fibre Channel node is returned if a Fibre Channel node is specified. + :type node_id: int + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""The ID of the node for which hardware information is being requested. Information about a Fibre Channel node is returned if a Fibre Channel node is specified. """, + dictionaryType=None + ) + + def __init__(self, + node_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SecureEraseDrivesRequest(data_model.DataObject): + """SecureEraseDrivesRequest + SecureEraseDrives enables you to remove any residual data from drives that have a status of "available." You might want to use this method when replacing a drive nearing the end of its service life that contained sensitive data. This method uses a Security Erase Unit command to write a predetermined pattern to the drive and resets the encryption key on the drive. This asynchronous method might take up to two minutes to complete. You can use GetAsyncResult to check on the status of the secure erase operation. + You can use the ListDrives method to obtain the driveIDs for the drives you want to secure erase. + + :param drives: [required] List of driveIDs to be secure erased. + :type drives: int + + """ + drives = data_model.property( + "drives", int, + array=True, optional=False, + documentation="""List of driveIDs to be secure erased. """, + dictionaryType=None + ) + + def __init__(self, + drives): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DriveInfo(data_model.DataObject): + """DriveInfo + + :param capacity: [required] Total capacity of the drive, in bytes. + :type capacity: int + + :param drive_id: [required] DriveID for this drive. + :type drive_id: int + + :param node_id: [required] NodeID where this drive is located. + :type node_id: int + + :param serial: [required] Drive serial number. + :type serial: str + + :param chassis_slot: [required] For HCI platforms, this value is the node letter and slot number in the server chassis where this drive is located. For legacy platforms, the slot number is a string representation of the 'slot' integer. + :type chassis_slot: str + + :param slot: [required] Slot number in the server chassis where this drive is located, or -1 if SATADimm used for internal metadata drive. + :type slot: int + + :param status: [required] + :type status: str + + :param type: [required] + :type type: str + + :param attributes: [required] List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + capacity = data_model.property( + "capacity", int, + array=False, optional=False, + documentation="""Total capacity of the drive, in bytes. """, + dictionaryType=None + ) + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation="""DriveID for this drive. """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""NodeID where this drive is located. """, + dictionaryType=None + ) + serial = data_model.property( + "serial", str, + array=False, optional=False, + documentation="""Drive serial number. """, + dictionaryType=None + ) + chassis_slot = data_model.property( + "chassisSlot", str, + array=False, optional=False, + documentation="""For HCI platforms, this value is the node letter and slot number in the server chassis where this drive is located. For legacy platforms, the slot number is a string representation of the 'slot' integer. """, + dictionaryType=None + ) + slot = data_model.property( + "slot", int, + array=False, optional=False, + documentation="""Slot number in the server chassis where this drive is located, or -1 if SATADimm used for internal metadata drive. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + type = data_model.property( + "type", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + capacity, + drive_id, + node_id, + serial, + chassis_slot, + slot, + status, + type, + attributes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListDrivesResult(data_model.DataObject): + """ListDrivesResult + + :param drives: [required] Information for the drives that are connected to the cluster. + :type drives: DriveInfo + + """ + drives = data_model.property( + "drives", DriveInfo, + array=True, optional=False, + documentation="""Information for the drives that are connected to the cluster. """, + dictionaryType=None + ) + + def __init__(self, + drives): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VirtualVolumeBinding(data_model.DataObject): + """VirtualVolumeBinding + + :param protocol_endpoint_id: [required] The unique ID of the protocol endpoint. + :type protocol_endpoint_id: UUID + + :param protocol_endpoint_in_band_id: [required] The scsiNAADeviceID of the protocol endpoint. For more information, see protocolEndpoint. + :type protocol_endpoint_in_band_id: str + + :param protocol_endpoint_type: [required] The type of protocol endpoint. SCSI is the only value returned for the protocol endpoint type. + :type protocol_endpoint_type: str + + :param virtual_volume_binding_id: [required] The unique ID of the virtual volume binding object. + :type virtual_volume_binding_id: int + + :param virtual_volume_host_id: [required] The unique ID of the virtual volume host. + :type virtual_volume_host_id: UUID + + :param virtual_volume_id: [required] The unique ID of the virtual volume. + :type virtual_volume_id: UUID + + :param virtual_volume_secondary_id: [required] The secondary ID of the virtual volume. + :type virtual_volume_secondary_id: str + + """ + protocol_endpoint_id = data_model.property( + "protocolEndpointID", UUID, + array=False, optional=False, + documentation="""The unique ID of the protocol endpoint. """, + dictionaryType=None + ) + protocol_endpoint_in_band_id = data_model.property( + "protocolEndpointInBandID", str, + array=False, optional=False, + documentation="""The scsiNAADeviceID of the protocol endpoint. For more information, see protocolEndpoint. """, + dictionaryType=None + ) + protocol_endpoint_type = data_model.property( + "protocolEndpointType", str, + array=False, optional=False, + documentation="""The type of protocol endpoint. SCSI is the only value returned for the protocol endpoint type. """, + dictionaryType=None + ) + virtual_volume_binding_id = data_model.property( + "virtualVolumeBindingID", int, + array=False, optional=False, + documentation="""The unique ID of the virtual volume binding object. """, + dictionaryType=None + ) + virtual_volume_host_id = data_model.property( + "virtualVolumeHostID", UUID, + array=False, optional=False, + documentation="""The unique ID of the virtual volume host. """, + dictionaryType=None + ) + virtual_volume_id = data_model.property( + "virtualVolumeID", UUID, + array=False, optional=False, + documentation="""The unique ID of the virtual volume. """, + dictionaryType=None + ) + virtual_volume_secondary_id = data_model.property( + "virtualVolumeSecondaryID", str, + array=False, optional=False, + documentation="""The secondary ID of the virtual volume. """, + dictionaryType=None + ) + + def __init__(self, + protocol_endpoint_id, + protocol_endpoint_in_band_id, + protocol_endpoint_type, + virtual_volume_binding_id, + virtual_volume_host_id, + virtual_volume_id, + virtual_volume_secondary_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumeBindingsResult(data_model.DataObject): + """ListVirtualVolumeBindingsResult + + :param bindings: [required] Describes the VVol <-> Host binding. + :type bindings: VirtualVolumeBinding + + """ + bindings = data_model.property( + "bindings", VirtualVolumeBinding, + array=True, optional=False, + documentation="""Describes the VVol <-> Host binding. """, + dictionaryType=None + ) + + def __init__(self, + bindings): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetDriveStatsRequest(data_model.DataObject): + """GetDriveStatsRequest + GetDriveStats returns high-level activity measurements for a single drive. Values are cumulative from the addition of the drive to the + cluster. Some values are specific to block drives. You might not obtain statistical data for both block and metadata drives when you + run this method. + + :param drive_id: [required] Specifies the drive for which statistics are gathered. + :type drive_id: int + + """ + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation="""Specifies the drive for which statistics are gathered. """, + dictionaryType=None + ) + + def __init__(self, + drive_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyClusterAdminResult(data_model.DataObject): + """ModifyClusterAdminResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EnableLdapAuthenticationResult(data_model.DataObject): + """EnableLdapAuthenticationResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByVolumeRequest(data_model.DataObject): + """ListVolumeStatsByVolumeRequest + ListVolumeStatsByVolume returns high-level activity measurements for every volume, by volume. Values are cumulative from the + creation of the volume. + + :param include_virtual_volumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type include_virtual_volumes: bool + + """ + include_virtual_volumes = data_model.property( + "includeVirtualVolumes", bool, + array=False, optional=True, + documentation="""Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. """, + dictionaryType=None + ) + + def __init__(self, + include_virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterFaultInfo(data_model.DataObject): + """ClusterFaultInfo + + :param drive_ids: + :type drive_ids: int + + :param network_interface: + :type network_interface: str + + :param severity: [required] + :type severity: str + + :param type: [required] + :type type: str + + :param code: [required] + :type code: str + + :param details: [required] + :type details: str + + :param node_hardware_fault_id: [required] + :type node_hardware_fault_id: int + + :param node_id: [required] + :type node_id: int + + :param service_id: [required] + :type service_id: int + + :param drive_id: [required] + :type drive_id: int + + :param resolved: [required] + :type resolved: bool + + :param cluster_fault_id: [required] + :type cluster_fault_id: int + + :param date: [required] + :type date: str + + :param resolved_date: [required] + :type resolved_date: str + + :param data: + :type data: dict + + """ + drive_ids = data_model.property( + "driveIDs", int, + array=True, optional=True, + documentation=""" """, + dictionaryType=None + ) + network_interface = data_model.property( + "networkInterface", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + severity = data_model.property( + "severity", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + type = data_model.property( + "type", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + code = data_model.property( + "code", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + details = data_model.property( + "details", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_hardware_fault_id = data_model.property( + "nodeHardwareFaultID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + service_id = data_model.property( + "serviceID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + resolved = data_model.property( + "resolved", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cluster_fault_id = data_model.property( + "clusterFaultID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + date = data_model.property( + "date", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + resolved_date = data_model.property( + "resolvedDate", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + data = data_model.property( + "data", dict, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + severity, + type, + code, + details, + node_hardware_fault_id, + node_id, + service_id, + drive_id, + resolved, + cluster_fault_id, + date, + resolved_date, + drive_ids=None, + network_interface=None, + data=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListClusterFaultsResult(data_model.DataObject): + """ListClusterFaultsResult + + :param faults: [required] The list of Cluster Fault objects. + :type faults: ClusterFaultInfo + + """ + faults = data_model.property( + "faults", ClusterFaultInfo, + array=True, optional=False, + documentation="""The list of Cluster Fault objects. """, + dictionaryType=None + ) + + def __init__(self, + faults): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddLdapClusterAdminRequest(data_model.DataObject): + """AddLdapClusterAdminRequest + AddLdapClusterAdmin enables you to add a new LDAP cluster administrator user. An LDAP cluster administrator can manage the + cluster via the API and management tools. LDAP cluster admin accounts are completely separate and unrelated to standard tenant + accounts. + You can also use this method to add an LDAP group that has been defined in Active Directory. The access level that is given to the group is passed to the individual users in the LDAP group. + + :param username: [required] The distinguished user name for the new LDAP cluster admin. + :type username: str + + :param access: [required] Controls which methods this Cluster Admin can use. For more details on the levels of access, see the Access Control appendix in the SolidFire API Reference. + :type access: str + + :param accept_eula: Accept the End User License Agreement. Set to true to add a cluster administrator account to the system. If omitted or set to false, the method call fails. + :type accept_eula: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + username = data_model.property( + "username", str, + array=False, optional=False, + documentation="""The distinguished user name for the new LDAP cluster admin. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=True, optional=False, + documentation="""Controls which methods this Cluster Admin can use. For more details on the levels of access, see the Access Control appendix in the SolidFire API Reference. """, + dictionaryType=None + ) + accept_eula = data_model.property( + "acceptEula", bool, + array=False, optional=True, + documentation="""Accept the End User License Agreement. Set to true to add a cluster administrator account to the system. If omitted or set to false, the method call fails. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + username, + access, + accept_eula=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumePairRequest(data_model.DataObject): + """ModifyVolumePairRequest + ModifyVolumePair enables you to pause or restart replication between a pair of volumes. + + :param volume_id: [required] The ID of the volume to be modified. + :type volume_id: int + + :param paused_manual: Specifies whether to pause or restart volume replication process. Valid values are: true: Pauses volume replication false: Restarts volume replication + :type paused_manual: bool + + :param mode: Specifies the volume replication mode. Possible values are: Async: Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: The source acknowledges the write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster are replicated. Active writes from the source volume are not replicated. + :type mode: str + + :param pause_limit: Internal use only. + :type pause_limit: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume to be modified. """, + dictionaryType=None + ) + paused_manual = data_model.property( + "pausedManual", bool, + array=False, optional=True, + documentation="""Specifies whether to pause or restart volume replication process. Valid values are: true: Pauses volume replication false: Restarts volume replication """, + dictionaryType=None + ) + mode = data_model.property( + "mode", str, + array=False, optional=True, + documentation="""Specifies the volume replication mode. Possible values are: Async: Writes are acknowledged when they complete locally. The cluster does not wait for writes to be replicated to the target cluster. Sync: The source acknowledges the write when the data is stored locally and on the remote cluster. SnapshotsOnly: Only snapshots created on the source cluster are replicated. Active writes from the source volume are not replicated. """, + dictionaryType=None + ) + pause_limit = data_model.property( + "pauseLimit", int, + array=False, optional=True, + documentation="""Internal use only. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + paused_manual=None, + mode=None, + pause_limit=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CloneMultipleVolumesRequest(data_model.DataObject): + """CloneMultipleVolumesRequest + CloneMultipleVolumes enables you to create a clone of a group of specified volumes. You can assign a consistent set of characteristics + to a group of multiple volumes when they are cloned together. + Before using groupSnapshotID to clone the volumes in a group snapshot, you must create the group snapshot by using the + CreateGroupSnapshot API method or the Element OS Web UI. Using groupSnapshotID is optional when cloning multiple volumes. + Note: Cloning multiple volumes is allowed if cluster fullness is at stage 2 or 3. Clones are not created when cluster fullness is + at stage 4 or 5. + + :param volumes: [required] Unique ID for each volume to include in the clone. If optional parameters are not specified, the values are inherited from the source volumes. Required parameter for "volumes" array: volumeID Optional parameters for "volumes" array: access: Can be one of readOnly, readWrite, locked, or replicationTarget attributes: List of name-value pairs in JSON object format. name: New name for the clone. newAccountID: Account ID for the new volumes. newSize: New size Total size of the volume, in bytes. Size is rounded up to the nearest 1MB. + :type volumes: CloneMultipleVolumeParams + + :param access: New default access method for the new volumes if not overridden by information passed in the volume's array. + :type access: str + + :param group_snapshot_id: ID of the group snapshot to use as a basis for the clone. + :type group_snapshot_id: int + + :param new_account_id: New account ID for the volumes if not overridden by information passed in the volumes array. + :type new_account_id: int + + """ + volumes = data_model.property( + "volumes", CloneMultipleVolumeParams, + array=True, optional=False, + documentation="""Unique ID for each volume to include in the clone. If optional parameters are not specified, the values are inherited from the source volumes. Required parameter for "volumes" array: volumeID Optional parameters for "volumes" array: access: Can be one of readOnly, readWrite, locked, or replicationTarget attributes: List of name-value pairs in JSON object format. name: New name for the clone. newAccountID: Account ID for the new volumes. newSize: New size Total size of the volume, in bytes. Size is rounded up to the nearest 1MB. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=False, optional=True, + documentation="""New default access method for the new volumes if not overridden by information passed in the volume's array. """, + dictionaryType=None + ) + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=True, + documentation="""ID of the group snapshot to use as a basis for the clone. """, + dictionaryType=None + ) + new_account_id = data_model.property( + "newAccountID", int, + array=False, optional=True, + documentation="""New account ID for the volumes if not overridden by information passed in the volumes array. """, + dictionaryType=None + ) + + def __init__(self, + volumes, + access=None, + group_snapshot_id=None, + new_account_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeAccessGroupsRequest(data_model.DataObject): + """ListVolumeAccessGroupsRequest + ListVolumeAccessGroups enables you to return + information about the volume access groups that are + currently in the system. + + :param start_volume_access_group_id: The volume access group ID at which to begin the listing. If unspecified, there is no lower limit (implicitly 0). + :type start_volume_access_group_id: int + + :param limit: The maximum number of results to return. This can be useful for paging. + :type limit: int + + :param volume_access_groups: The list of ids of the volume access groups you wish to list + :type volume_access_groups: int + + """ + start_volume_access_group_id = data_model.property( + "startVolumeAccessGroupID", int, + array=False, optional=True, + documentation="""The volume access group ID at which to begin the listing. If unspecified, there is no lower limit (implicitly 0). """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""The maximum number of results to return. This can be useful for paging. """, + dictionaryType=None + ) + volume_access_groups = data_model.property( + "volumeAccessGroups", int, + array=True, optional=True, + documentation="""The list of ids of the volume access groups you wish to list """, + dictionaryType=None + ) + + def __init__(self, + start_volume_access_group_id=None, + limit=None, + volume_access_groups=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteQoSPolicyRequest(data_model.DataObject): + """DeleteQoSPolicyRequest + You can use the DeleteQoSPolicy method to delete a QoS policy from the system. + The QoS settings for all volumes created of modified with this policy are unaffected. + + :param qos_policy_id: [required] The ID of the QoS policy to be deleted. + :type qos_policy_id: int + + """ + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=False, + documentation="""The ID of the QoS policy to be deleted. """, + dictionaryType=None + ) + + def __init__(self, + qos_policy_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetLoginBannerRequest(data_model.DataObject): + """SetLoginBannerRequest + You can use the SetLoginBanner method to set the active Terms of Use banner users see when they log on to the web interface. + + :param banner: The desired text of the Terms of Use banner. + :type banner: str + + :param enabled: The status of the Terms of Use banner. Possible values: true: The Terms of Use banner is displayed upon web interface login. false: The Terms of Use banner is not displayed upon web interface login. + :type enabled: bool + + """ + banner = data_model.property( + "banner", str, + array=False, optional=True, + documentation="""The desired text of the Terms of Use banner. """, + dictionaryType=None + ) + enabled = data_model.property( + "enabled", bool, + array=False, optional=True, + documentation="""The status of the Terms of Use banner. Possible values: true: The Terms of Use banner is displayed upon web interface login. false: The Terms of Use banner is not displayed upon web interface login. """, + dictionaryType=None + ) + + def __init__(self, + banner=None, + enabled=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveNodeSSLCertificateResult(data_model.DataObject): + """RemoveNodeSSLCertificateResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSnmpACLResult(data_model.DataObject): + """SetSnmpACLResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListGroupSnapshotsRequest(data_model.DataObject): + """ListGroupSnapshotsRequest + ListGroupSnapshots enables you to get information about all group snapshots that have been created. + + :param volumes: An array of unique volume IDs to query. If you do not specify this parameter, all group snapshots on the cluster are included. + :type volumes: int + + :param group_snapshot_id: Retrieves information for a specific group snapshot ID. + :type group_snapshot_id: int + + """ + volumes = data_model.property( + "volumes", int, + array=True, optional=True, + documentation="""An array of unique volume IDs to query. If you do not specify this parameter, all group snapshots on the cluster are included. """, + dictionaryType=None + ) + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=True, + documentation="""Retrieves information for a specific group snapshot ID. """, + dictionaryType=None + ) + + def __init__(self, + volumes=None, + group_snapshot_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EnableFeatureRequest(data_model.DataObject): + """EnableFeatureRequest + You can use EnableFeature to enable cluster features that are disabled by default. + + :param feature: [required] Indicates which feature to enable. Valid value is: vvols: Enable the NetApp SolidFire VVols cluster feature. + :type feature: str + + """ + feature = data_model.property( + "feature", str, + array=False, optional=False, + documentation="""Indicates which feature to enable. Valid value is: vvols: Enable the NetApp SolidFire VVols cluster feature. """, + dictionaryType=None + ) + + def __init__(self, + feature): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SnmpNetwork(data_model.DataObject): + """SnmpNetwork + The SNMP network object contains information about SNMP configuration for the cluster nodes. SNMP v3 is supported on SolidFire clusters. + + :param access: [required] ro: read-only access.* rw: for read-write access. rosys: for read-only access to a restricted set of system information *SolidFire recommends that all networks other than the default "localhost" be set to "ro" access, because all SolidFire MIB objects are read-only. + :type access: str + + :param cidr: [required] A CIDR network mask. This network mask must be an integer greater than or equal to 0, and less than or equal to 32. It must also not be equal to 31. + :type cidr: int + + :param community: [required] SNMP community string. + :type community: str + + :param network: [required] This parameter ainteger with the cidr variable is used to control which network the access and community string apply to. The special value of "default" is used to specify an entry that applies to all networks. The cidr mask is ignored when network value is either a host name or default. + :type network: str + + """ + access = data_model.property( + "access", str, + array=False, optional=False, + documentation="""ro: read-only access.* rw: for read-write access. rosys: for read-only access to a restricted set of system information *SolidFire recommends that all networks other than the default "localhost" be set to "ro" access, because all SolidFire MIB objects are read-only. """, + dictionaryType=None + ) + cidr = data_model.property( + "cidr", int, + array=False, optional=False, + documentation="""A CIDR network mask. This network mask must be an integer greater than or equal to 0, and less than or equal to 32. It must also not be equal to 31. """, + dictionaryType=None + ) + community = data_model.property( + "community", str, + array=False, optional=False, + documentation="""SNMP community string. """, + dictionaryType=None + ) + network = data_model.property( + "network", str, + array=False, optional=False, + documentation="""This parameter ainteger with the cidr variable is used to control which network the access and community string apply to. The special value of "default" is used to specify an entry that applies to all networks. The cidr mask is ignored when network value is either a host name or default. """, + dictionaryType=None + ) + + def __init__(self, + access, + cidr, + community, + network): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveNodesRequest(data_model.DataObject): + """RemoveNodesRequest + You can use RemoveNodes to remove one or more nodes that should no longer participate in the cluster. Before removing a node, you must remove all drives the node contains using the RemoveDrives method. You cannot remove a node until the RemoveDrives process has completed and all data has been migrated away from the node. + After you remove a node, it registers itself as a pending node. You can add the node again or shut it down (shutting the node down removes it from the Pending Node list). + + :param nodes: [required] List of NodeIDs for the nodes to be removed. + :type nodes: int + + """ + nodes = data_model.property( + "nodes", int, + array=True, optional=False, + documentation="""List of NodeIDs for the nodes to be removed. """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteGroupSnapshotRequest(data_model.DataObject): + """DeleteGroupSnapshotRequest + DeleteGroupSnapshot enables you to delete a group snapshot. You can use the saveMembers parameter to preserve all the snapshots that were made for the volumes in the group, but the group association is removed. + + :param group_snapshot_id: [required] Specifies the unique ID of the group snapshot. + :type group_snapshot_id: int + + :param save_members: [required] Specifies whether to preserve snapshots or delete them. Valid values are: true: Snapshots are preserved, but group association is removed. false: The group and snapshots are deleted. + :type save_members: bool + + """ + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=False, + documentation="""Specifies the unique ID of the group snapshot. """, + dictionaryType=None + ) + save_members = data_model.property( + "saveMembers", bool, + array=False, optional=False, + documentation="""Specifies whether to preserve snapshots or delete them. Valid values are: true: Snapshots are preserved, but group association is removed. false: The group and snapshots are deleted. """, + dictionaryType=None + ) + + def __init__(self, + group_snapshot_id, + save_members): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifySnapshotResult(data_model.DataObject): + """ModifySnapshotResult + + :param snapshot: + :type snapshot: Snapshot + + """ + snapshot = data_model.property( + "snapshot", Snapshot, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + snapshot=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveVolumesFromVolumeAccessGroupRequest(data_model.DataObject): + """RemoveVolumesFromVolumeAccessGroupRequest + The RemoveVolumeFromVolumeAccessGroup method enables you to remove volumes from a volume access group. + + :param volume_access_group_id: [required] The ID of the volume access group to remove volumes from. + :type volume_access_group_id: int + + :param volumes: [required] The ID of the volume access group to remove volumes from. + :type volumes: int + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID of the volume access group to remove volumes from. """, + dictionaryType=None + ) + volumes = data_model.property( + "volumes", int, + array=True, optional=False, + documentation="""The ID of the volume access group to remove volumes from. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyStorageContainerRequest(data_model.DataObject): + """ModifyStorageContainerRequest + ModifyStorageContainer enables you to make changes to an existing virtual volume storage container. + + :param storage_container_id: [required] The unique ID of the virtual volume storage container to modify. + :type storage_container_id: UUID + + :param initiator_secret: The new secret for CHAP authentication for the initiator. + :type initiator_secret: str + + :param target_secret: The new secret for CHAP authentication for the target. + :type target_secret: str + + """ + storage_container_id = data_model.property( + "storageContainerID", UUID, + array=False, optional=False, + documentation="""The unique ID of the virtual volume storage container to modify. """, + dictionaryType=None + ) + initiator_secret = data_model.property( + "initiatorSecret", str, + array=False, optional=True, + documentation="""The new secret for CHAP authentication for the initiator. """, + dictionaryType=None + ) + target_secret = data_model.property( + "targetSecret", str, + array=False, optional=True, + documentation="""The new secret for CHAP authentication for the target. """, + dictionaryType=None + ) + + def __init__(self, + storage_container_id, + initiator_secret=None, + target_secret=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectMvipDetails(data_model.DataObject): + """TestConnectMvipDetails + + :param ping_bytes: [required] Details of the ping tests with 56 Bytes and 1500 Bytes. + :type ping_bytes: dict + + :param mvip: [required] The MVIP tested against. + :type mvip: str + + :param connected: [required] Whether the test could connect to the MVIP. + :type connected: bool + + """ + ping_bytes = data_model.property( + "pingBytes", dict, + array=False, optional=False, + documentation="""Details of the ping tests with 56 Bytes and 1500 Bytes. """, + dictionaryType=None + ) + mvip = data_model.property( + "mvip", str, + array=False, optional=False, + documentation="""The MVIP tested against. """, + dictionaryType=None + ) + connected = data_model.property( + "connected", bool, + array=False, optional=False, + documentation="""Whether the test could connect to the MVIP. """, + dictionaryType=None + ) + + def __init__(self, + ping_bytes, + mvip, + connected): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectMvipResult(data_model.DataObject): + """TestConnectMvipResult + + :param details: [required] Information about the test operation + :type details: TestConnectMvipDetails + + :param duration: [required] The length of time required to run the test. + :type duration: str + + :param result: [required] The results of the entire test + :type result: str + + """ + details = data_model.property( + "details", TestConnectMvipDetails, + array=False, optional=False, + documentation="""Information about the test operation """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=False, + documentation="""The length of time required to run the test. """, + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=False, + documentation="""The results of the entire test """, + dictionaryType=None + ) + + def __init__(self, + details, + duration, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClearClusterFaultsResult(data_model.DataObject): + """ClearClusterFaultsResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectSvipDetails(data_model.DataObject): + """TestConnectSvipDetails + + :param ping_bytes: [required] Details of the ping tests with 56 Bytes and 1500 Bytes. + :type ping_bytes: dict + + :param svip: [required] The SVIP tested against. + :type svip: str + + :param connected: [required] Whether the test could connect to the MVIP. + :type connected: bool + + """ + ping_bytes = data_model.property( + "pingBytes", dict, + array=False, optional=False, + documentation="""Details of the ping tests with 56 Bytes and 1500 Bytes. """, + dictionaryType=None + ) + svip = data_model.property( + "svip", str, + array=False, optional=False, + documentation="""The SVIP tested against. """, + dictionaryType=None + ) + connected = data_model.property( + "connected", bool, + array=False, optional=False, + documentation="""Whether the test could connect to the MVIP. """, + dictionaryType=None + ) + + def __init__(self, + ping_bytes, + svip, + connected): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectSvipResult(data_model.DataObject): + """TestConnectSvipResult + + :param details: [required] Information about the test operation + :type details: TestConnectSvipDetails + + :param duration: [required] The length of time required to run the test. + :type duration: str + + :param result: [required] The results of the entire test + :type result: str + + """ + details = data_model.property( + "details", TestConnectSvipDetails, + array=False, optional=False, + documentation="""Information about the test operation """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=False, + documentation="""The length of time required to run the test. """, + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=False, + documentation="""The results of the entire test """, + dictionaryType=None + ) + + def __init__(self, + details, + duration, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByVolumeResult(data_model.DataObject): + """ListVolumeStatsByVolumeResult + + :param volume_stats: [required] List of account activity information. + :type volume_stats: VolumeStats + + """ + volume_stats = data_model.property( + "volumeStats", VolumeStats, + array=True, optional=False, + documentation="""List of account activity information. """, + dictionaryType=None + ) + + def __init__(self, + volume_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SnmpV3UsmUser(data_model.DataObject): + """SnmpV3UsmUser + The SNMP v3 usmUser object is used with the API method SetSnmpInfo to configure SNMP on the cluster. + + :param access: [required] rouser: read-only access.* rwuser: for read-write access. rosys: for read-only access to a restricted set of system information *SolidFire recommends that all USM users be set to "rouser" access, because all SolidFire MIB objects are read-only. + :type access: str + + :param name: [required] The name of the user. Must contain at least one character, but no more than 32 characters. Blank spaces are not allowed. + :type name: str + + :param password: [required] The password of the user. Must be between 8 and 255 characters integer (inclusive). Blank spaces are not allowed. Required if "secLevel" is "auth" or "priv." + :type password: str + + :param passphrase: [required] The passphrase of the user. Must be between 8 and 255 characters integer (inclusive). Blank spaces are not allowed. Required if "secLevel" is "priv." + :type passphrase: str + + :param sec_level: [required] noauth: No password or passphrase is required. auth: A password is required for user access. priv: A password and passphrase is required for user access. + :type sec_level: str + + """ + access = data_model.property( + "access", str, + array=False, optional=False, + documentation="""rouser: read-only access.* rwuser: for read-write access. rosys: for read-only access to a restricted set of system information *SolidFire recommends that all USM users be set to "rouser" access, because all SolidFire MIB objects are read-only. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name of the user. Must contain at least one character, but no more than 32 characters. Blank spaces are not allowed. """, + dictionaryType=None + ) + password = data_model.property( + "password", str, + array=False, optional=False, + documentation="""The password of the user. Must be between 8 and 255 characters integer (inclusive). Blank spaces are not allowed. Required if "secLevel" is "auth" or "priv." """, + dictionaryType=None + ) + passphrase = data_model.property( + "passphrase", str, + array=False, optional=False, + documentation="""The passphrase of the user. Must be between 8 and 255 characters integer (inclusive). Blank spaces are not allowed. Required if "secLevel" is "priv." """, + dictionaryType=None + ) + sec_level = data_model.property( + "secLevel", str, + array=False, optional=False, + documentation="""noauth: No password or passphrase is required. auth: A password is required for user access. priv: A password and passphrase is required for user access. """, + dictionaryType=None + ) + + def __init__(self, + access, + name, + password, + passphrase, + sec_level): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetSnmpInfoResult(data_model.DataObject): + """GetSnmpInfoResult + + :param networks: List of networks and access types enabled for SNMP. Note: "networks" will only be present if SNMP V3 is disabled. + :type networks: SnmpNetwork + + :param enabled: [required] If the nodes in the cluster are configured for SNMP. + :type enabled: bool + + :param snmp_v3_enabled: [required] If the nodes in the cluster are configured for SNMP v3. + :type snmp_v3_enabled: bool + + :param usm_users: If SNMP v3 is enabled, the values returned is a list of user access parameters for SNMP information from the cluster. This will be returned instead of the "networks" parameter. + :type usm_users: SnmpV3UsmUser + + """ + networks = data_model.property( + "networks", SnmpNetwork, + array=True, optional=True, + documentation="""List of networks and access types enabled for SNMP. Note: "networks" will only be present if SNMP V3 is disabled. """, + dictionaryType=None + ) + enabled = data_model.property( + "enabled", bool, + array=False, optional=False, + documentation="""If the nodes in the cluster are configured for SNMP. """, + dictionaryType=None + ) + snmp_v3_enabled = data_model.property( + "snmpV3Enabled", bool, + array=False, optional=False, + documentation="""If the nodes in the cluster are configured for SNMP v3. """, + dictionaryType=None + ) + usm_users = data_model.property( + "usmUsers", SnmpV3UsmUser, + array=True, optional=True, + documentation="""If SNMP v3 is enabled, the values returned is a list of user access parameters for SNMP information from the cluster. This will be returned instead of the "networks" parameter. """, + dictionaryType=None + ) + + def __init__(self, + enabled, + snmp_v3_enabled, + networks=None, + usm_users=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumesResult(data_model.DataObject): + """ModifyVolumesResult + + :param volumes: [required] + :type volumes: Volume + + :param qos: + :type qos: QoS + + """ + volumes = data_model.property( + "volumes", Volume, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + qos = data_model.property( + "qos", QoS, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + volumes, + qos=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RestartNetworkingRequest(data_model.DataObject): + """RestartNetworkingRequest + The RestartNetworking API method enables you to restart the networking services on a node. + Warning: This method restarts all networking services on a node, causing temporary loss of networking connectivity. + Exercise caution when using this method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param force: [required] Required parameter to successfully reset the node. + :type force: bool + + """ + force = data_model.property( + "force", bool, + array=False, optional=False, + documentation="""Required parameter to successfully reset the node. """, + dictionaryType=None + ) + + def __init__(self, + force): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListNodeFibreChannelPortInfoResult(data_model.DataObject): + """ListNodeFibreChannelPortInfoResult + List of fibre channel port info results grouped by node. + + :param fibre_channel_ports: [required] List of all physical Fibre Channel ports. + :type fibre_channel_ports: FibreChannelPortInfo + + """ + fibre_channel_ports = data_model.property( + "fibreChannelPorts", FibreChannelPortInfo, + array=True, optional=False, + documentation="""List of all physical Fibre Channel ports. """, + dictionaryType=None + ) + + def __init__(self, + fibre_channel_ports): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateSupportBundleRequest(data_model.DataObject): + """CreateSupportBundleRequest + CreateSupportBundle enables you to create a support bundle file under the node's directory. After creation, the bundle is stored on the node as a tar.gz file. + + :param bundle_name: The unique name for the support bundle. If no name is provided, "supportbundle" and the node name are used as the filename. + :type bundle_name: str + + :param extra_args: Passed to the sf_make_support_bundle script. You should use this parameter only at the request of NetApp SolidFire Support. + :type extra_args: str + + :param timeout_sec: The number of seconds to allow the support bundle script to run before stopping. The default value is 1500 seconds. + :type timeout_sec: int + + """ + bundle_name = data_model.property( + "bundleName", str, + array=False, optional=True, + documentation="""The unique name for the support bundle. If no name is provided, "supportbundle" and the node name are used as the filename. """, + dictionaryType=None + ) + extra_args = data_model.property( + "extraArgs", str, + array=False, optional=True, + documentation="""Passed to the sf_make_support_bundle script. You should use this parameter only at the request of NetApp SolidFire Support. """, + dictionaryType=None + ) + timeout_sec = data_model.property( + "timeoutSec", int, + array=False, optional=True, + documentation="""The number of seconds to allow the support bundle script to run before stopping. The default value is 1500 seconds. """, + dictionaryType=None + ) + + def __init__(self, + bundle_name=None, + extra_args=None, + timeout_sec=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DriveStats(data_model.DataObject): + """DriveStats + + :param active_sessions: + :type active_sessions: int + + :param drive_id: + :type drive_id: int + + :param failed_die_count: [required] + :type failed_die_count: int + + :param life_remaining_percent: [required] + :type life_remaining_percent: int + + :param lifetime_read_bytes: [required] + :type lifetime_read_bytes: int + + :param lifetime_write_bytes: [required] + :type lifetime_write_bytes: int + + :param power_on_hours: [required] + :type power_on_hours: int + + :param read_bytes: [required] + :type read_bytes: int + + :param read_ops: [required] + :type read_ops: int + + :param reallocated_sectors: [required] + :type reallocated_sectors: int + + :param reserve_capacity_percent: [required] + :type reserve_capacity_percent: int + + :param timestamp: [required] + :type timestamp: str + + :param total_capacity: [required] + :type total_capacity: int + + :param used_capacity: + :type used_capacity: int + + :param used_memory: [required] + :type used_memory: int + + :param write_bytes: [required] + :type write_bytes: int + + :param write_ops: [required] + :type write_ops: int + + """ + active_sessions = data_model.property( + "activeSessions", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + drive_id = data_model.property( + "driveID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + failed_die_count = data_model.property( + "failedDieCount", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + life_remaining_percent = data_model.property( + "lifeRemainingPercent", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + lifetime_read_bytes = data_model.property( + "lifetimeReadBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + lifetime_write_bytes = data_model.property( + "lifetimeWriteBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + power_on_hours = data_model.property( + "powerOnHours", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + read_bytes = data_model.property( + "readBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + read_ops = data_model.property( + "readOps", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + reallocated_sectors = data_model.property( + "reallocatedSectors", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + reserve_capacity_percent = data_model.property( + "reserveCapacityPercent", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + total_capacity = data_model.property( + "totalCapacity", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + used_capacity = data_model.property( + "usedCapacity", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + used_memory = data_model.property( + "usedMemory", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + write_bytes = data_model.property( + "writeBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + write_ops = data_model.property( + "writeOps", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + failed_die_count, + life_remaining_percent, + lifetime_read_bytes, + lifetime_write_bytes, + power_on_hours, + read_bytes, + read_ops, + reallocated_sectors, + reserve_capacity_percent, + timestamp, + total_capacity, + used_memory, + write_bytes, + write_ops, + active_sessions=None, + drive_id=None, + used_capacity=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetDriveStatsResult(data_model.DataObject): + """GetDriveStatsResult + + :param drive_stats: [required] + :type drive_stats: DriveStats + + """ + drive_stats = data_model.property( + "driveStats", DriveStats, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + drive_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumeAccessGroupLunAssignmentsRequest(data_model.DataObject): + """ModifyVolumeAccessGroupLunAssignmentsRequest + The ModifyVolumeAccessGroupLunAssignments + method enables you to define custom LUN assignments + for specific volumes. This method changes only LUN + values set on the lunAssignments parameter in the + volume access group. All other LUN assignments remain + unchanged. LUN assignment values must be unique for volumes in a volume access group. You cannot define duplicate LUN values within a volume access group. However, you can use the same LUN values again in different volume access groups. + Note: Correct LUN values are 0 through 16383. The system generates an exception if you pass a LUN value outside of this range. None of the specified LUN assignments are modified if there is an exception. + Caution: If you change a LUN assignment for a volume with active I/O, the I/O can be disrupted. You might need to change the server configuration before changing volume LUN assignments. + + :param volume_access_group_id: [required] The ID of the volume access group for which the LUN assignments will be modified. + :type volume_access_group_id: int + + :param lun_assignments: [required] The volume IDs with new assigned LUN values. + :type lun_assignments: LunAssignment + + """ + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=False, + documentation="""The ID of the volume access group for which the LUN assignments will be modified. """, + dictionaryType=None + ) + lun_assignments = data_model.property( + "lunAssignments", LunAssignment, + array=True, optional=False, + documentation="""The volume IDs with new assigned LUN values. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_id, + lun_assignments): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StartBulkVolumeReadResult(data_model.DataObject): + """StartBulkVolumeReadResult + + :param async_handle: [required] ID of the async process to be checked for completion. + :type async_handle: int + + :param key: [required] Opaque key uniquely identifying the session. + :type key: str + + :param url: [required] URL to access the node's web server + :type url: str + + """ + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation="""ID of the async process to be checked for completion. """, + dictionaryType=None + ) + key = data_model.property( + "key", str, + array=False, optional=False, + documentation="""Opaque key uniquely identifying the session. """, + dictionaryType=None + ) + url = data_model.property( + "url", str, + array=False, optional=False, + documentation="""URL to access the node's web server """, + dictionaryType=None + ) + + def __init__(self, + async_handle, + key, + url): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNetworkConfigResult(data_model.DataObject): + """GetNetworkConfigResult + + :param network: [required] + :type network: Network + + """ + network = data_model.property( + "network", Network, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + network): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByVolumeAccessGroupRequest(data_model.DataObject): + """ListVolumeStatsByVolumeAccessGroupRequest + ListVolumeStatsByVolumeAccessGroup enables you to get total activity measurements for all of the volumes that are a member of the + specified volume access group(s). + + :param volume_access_groups: An array of VolumeAccessGroupIDs for which volume activity is returned. If omitted, statistics for all volume access groups are returned. + :type volume_access_groups: int + + :param include_virtual_volumes: Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. + :type include_virtual_volumes: bool + + """ + volume_access_groups = data_model.property( + "volumeAccessGroups", int, + array=True, optional=True, + documentation="""An array of VolumeAccessGroupIDs for which volume activity is returned. If omitted, statistics for all volume access groups are returned. """, + dictionaryType=None + ) + include_virtual_volumes = data_model.property( + "includeVirtualVolumes", bool, + array=False, optional=True, + documentation="""Specifies that virtual volumes are included in the response by default. To exclude virtual volumes, set to false. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_groups=None, + include_virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class UpdateBulkVolumeStatusResult(data_model.DataObject): + """UpdateBulkVolumeStatusResult + + :param status: [required] Status of the session requested. Returned status: preparing active done failed + :type status: str + + :param url: [required] The URL to access the node's web server provided only if the session is still active. + :type url: str + + :param attributes: [required] Returns attributes that were specified in the BulkVolumeStatusUpdate method. Values are returned if they have changed or not. + :type attributes: dict + + """ + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Status of the session requested. Returned status: preparing active done failed """, + dictionaryType=None + ) + url = data_model.property( + "url", str, + array=False, optional=False, + documentation="""The URL to access the node's web server provided only if the session is still active. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""Returns attributes that were specified in the BulkVolumeStatusUpdate method. Values are returned if they have changed or not. """, + dictionaryType=None + ) + + def __init__(self, + status, + url, + attributes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EnableSnmpResult(data_model.DataObject): + """EnableSnmpResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class FibreChannelSession(data_model.DataObject): + """FibreChannelSession + FibreChannelSession contains information about each Fibre Channel session that is visible to the cluster and what target ports it is visible on. + + :param initiator_wwpn: [required] The WWPN of the initiator which is logged into the target port. + :type initiator_wwpn: str + + :param node_id: [required] The node owning the Fibre Channel session. + :type node_id: int + + :param service_id: [required] The service ID of the FService owning this Fibre Channel session + :type service_id: int + + :param target_wwpn: [required] The WWPN of the target port involved in this session. + :type target_wwpn: str + + :param volume_access_group_id: The ID of the volume access group to which the initiatorWWPN beintegers. If not in a volume access group, the value will be null. + :type volume_access_group_id: int + + """ + initiator_wwpn = data_model.property( + "initiatorWWPN", str, + array=False, optional=False, + documentation="""The WWPN of the initiator which is logged into the target port. """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""The node owning the Fibre Channel session. """, + dictionaryType=None + ) + service_id = data_model.property( + "serviceID", int, + array=False, optional=False, + documentation="""The service ID of the FService owning this Fibre Channel session """, + dictionaryType=None + ) + target_wwpn = data_model.property( + "targetWWPN", str, + array=False, optional=False, + documentation="""The WWPN of the target port involved in this session. """, + dictionaryType=None + ) + volume_access_group_id = data_model.property( + "volumeAccessGroupID", int, + array=False, optional=True, + documentation="""The ID of the volume access group to which the initiatorWWPN beintegers. If not in a volume access group, the value will be null. """, + dictionaryType=None + ) + + def __init__(self, + initiator_wwpn, + node_id, + service_id, + target_wwpn, + volume_access_group_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListFibreChannelSessionsResult(data_model.DataObject): + """ListFibreChannelSessionsResult + Used to return information about the Fibre Channel sessions. + + :param sessions: [required] A list of FibreChannelSession objects with information about the Fibre Channel session. + :type sessions: FibreChannelSession + + """ + sessions = data_model.property( + "sessions", FibreChannelSession, + array=True, optional=False, + documentation="""A list of FibreChannelSession objects with information about the Fibre Channel session. """, + dictionaryType=None + ) + + def __init__(self, + sessions): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class VirtualVolumeTask(data_model.DataObject): + """VirtualVolumeTask + + :param virtual_volume_task_id: [required] + :type virtual_volume_task_id: UUID + + :param virtualvolume_id: [required] + :type virtualvolume_id: UUID + + :param clone_virtual_volume_id: [required] + :type clone_virtual_volume_id: UUID + + :param status: [required] + :type status: str + + :param operation: [required] + :type operation: str + + :param virtual_volume_host_id: [required] + :type virtual_volume_host_id: UUID + + :param parent_metadata: [required] + :type parent_metadata: dict + + :param parent_total_size: [required] + :type parent_total_size: int + + :param parent_used_size: [required] + :type parent_used_size: int + + :param cancelled: [required] + :type cancelled: bool + + """ + virtual_volume_task_id = data_model.property( + "virtualVolumeTaskID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + virtualvolume_id = data_model.property( + "virtualvolumeID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + clone_virtual_volume_id = data_model.property( + "cloneVirtualVolumeID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + operation = data_model.property( + "operation", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + virtual_volume_host_id = data_model.property( + "virtualVolumeHostID", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + parent_metadata = data_model.property( + "parentMetadata", dict, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + parent_total_size = data_model.property( + "parentTotalSize", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + parent_used_size = data_model.property( + "parentUsedSize", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cancelled = data_model.property( + "cancelled", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + virtual_volume_task_id, + virtualvolume_id, + clone_virtual_volume_id, + status, + operation, + virtual_volume_host_id, + parent_metadata, + parent_total_size, + parent_used_size, + cancelled): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumeTasksResult(data_model.DataObject): + """ListVirtualVolumeTasksResult + + :param tasks: [required] List of VVol Async Tasks. + :type tasks: VirtualVolumeTask + + """ + tasks = data_model.property( + "tasks", VirtualVolumeTask, + array=True, optional=False, + documentation="""List of VVol Async Tasks. """, + dictionaryType=None + ) + + def __init__(self, + tasks): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyQoSPolicyRequest(data_model.DataObject): + """ModifyQoSPolicyRequest + You can use the ModifyQoSPolicy method to modify an existing QoSPolicy on the system. + + :param qos_policy_id: [required] The ID of the policy to be modified. + :type qos_policy_id: int + + :param name: If supplied, the name of the QoS Policy (e.g. gold, platinum, silver) is changed to this value. + :type name: str + + :param qos: If supplied, the QoS settings for this policy are changed to these sttings. You can supply partial QoS values and only change some of the QoS settings. + :type qos: QoS + + """ + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=False, + documentation="""The ID of the policy to be modified. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""If supplied, the name of the QoS Policy (e.g. gold, platinum, silver) is changed to this value. """, + dictionaryType=None + ) + qos = data_model.property( + "qos", QoS, + array=False, optional=True, + documentation="""If supplied, the QoS settings for this policy are changed to these sttings. You can supply partial QoS values and only change some of the QoS settings. """, + dictionaryType=None + ) + + def __init__(self, + qos_policy_id, + name=None, + qos=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PurgeDeletedVolumesRequest(data_model.DataObject): + """PurgeDeletedVolumesRequest + PurgeDeletedVolumes immediately and permanently purges volumes that have been deleted. + You can use this method to purge up to 500 volumes at one time. + You must delete volumes using DeleteVolumes before they can be purged. + Volumes are purged by the system automatically after a period of time, so usage of this method is not typically required. + + :param volume_ids: A list of volumeIDs of volumes to be purged from the system. + :type volume_ids: int + + :param account_ids: A list of accountIDs. All of the volumes from all of the specified accounts are purged from the system. + :type account_ids: int + + :param volume_access_group_ids: A list of volumeAccessGroupIDs. All of the volumes from all of the specified Volume Access Groups are purged from the system. + :type volume_access_group_ids: int + + """ + volume_ids = data_model.property( + "volumeIDs", int, + array=True, optional=True, + documentation="""A list of volumeIDs of volumes to be purged from the system. """, + dictionaryType=None + ) + account_ids = data_model.property( + "accountIDs", int, + array=True, optional=True, + documentation="""A list of accountIDs. All of the volumes from all of the specified accounts are purged from the system. """, + dictionaryType=None + ) + volume_access_group_ids = data_model.property( + "volumeAccessGroupIDs", int, + array=True, optional=True, + documentation="""A list of volumeAccessGroupIDs. All of the volumes from all of the specified Volume Access Groups are purged from the system. """, + dictionaryType=None + ) + + def __init__(self, + volume_ids=None, + account_ids=None, + volume_access_group_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetEfficiencyResult(data_model.DataObject): + """GetEfficiencyResult + + :param compression: The amount of space being saved by compressing data on a single volume. Stated as a ratio where "1" means data has been stored without being compressed. + :type compression: float + + :param deduplication: The amount of space being saved on a single volume by not duplicating data. Stated as a ratio. + :type deduplication: float + + :param thin_provisioning: The ratio of space used to the amount of space allocated for storing data. Stated as a ratio. + :type thin_provisioning: float + + :param timestamp: [required] The last time efficiency data was collected after Garbage Collection (GC). ISO 8601 data string. + :type timestamp: str + + :param missing_volumes: [required] The volumes that could not be queried for efficiency data. Missing volumes can be caused by GC being less than hour old, temporary network loss or restarted services since the GC cycle. + :type missing_volumes: int + + """ + compression = data_model.property( + "compression", float, + array=False, optional=True, + documentation="""The amount of space being saved by compressing data on a single volume. Stated as a ratio where "1" means data has been stored without being compressed. """, + dictionaryType=None + ) + deduplication = data_model.property( + "deduplication", float, + array=False, optional=True, + documentation="""The amount of space being saved on a single volume by not duplicating data. Stated as a ratio. """, + dictionaryType=None + ) + thin_provisioning = data_model.property( + "thinProvisioning", float, + array=False, optional=True, + documentation="""The ratio of space used to the amount of space allocated for storing data. Stated as a ratio. """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""The last time efficiency data was collected after Garbage Collection (GC). ISO 8601 data string. """, + dictionaryType=None + ) + missing_volumes = data_model.property( + "missingVolumes", int, + array=True, optional=False, + documentation="""The volumes that could not be queried for efficiency data. Missing volumes can be caused by GC being less than hour old, temporary network loss or restarted services since the GC cycle. """, + dictionaryType=None + ) + + def __init__(self, + timestamp, + missing_volumes, + compression=None, + deduplication=None, + thin_provisioning=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterConfigResult(data_model.DataObject): + """GetClusterConfigResult + + :param cluster: [required] Cluster configuration information the node uses to communicate with the cluster. + :type cluster: ClusterConfig + + """ + cluster = data_model.property( + "cluster", ClusterConfig, + array=False, optional=False, + documentation="""Cluster configuration information the node uses to communicate with the cluster. """, + dictionaryType=None + ) + + def __init__(self, + cluster): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetVolumeStatsResult(data_model.DataObject): + """GetVolumeStatsResult + + :param volume_stats: [required] Volume activity information. + :type volume_stats: VolumeStats + + """ + volume_stats = data_model.property( + "volumeStats", VolumeStats, + array=False, optional=False, + documentation="""Volume activity information. """, + dictionaryType=None + ) + + def __init__(self, + volume_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterHardwareInfo(data_model.DataObject): + """ClusterHardwareInfo + + :param drives: [required] + :type drives: dict + + :param nodes: [required] + :type nodes: dict + + """ + drives = data_model.property( + "drives", dict, + array=False, optional=False, + documentation=""" """, + dictionaryType=DriveHardwareInfo + ) + nodes = data_model.property( + "nodes", dict, + array=False, optional=False, + documentation=""" """, + dictionaryType=dict + ) + + def __init__(self, + drives, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterHardwareInfoResult(data_model.DataObject): + """GetClusterHardwareInfoResult + + :param cluster_hardware_info: [required] Hardware information for all nodes and drives in the cluster. Each object in this output is labeled with the nodeID of the given node. + :type cluster_hardware_info: ClusterHardwareInfo + + """ + cluster_hardware_info = data_model.property( + "clusterHardwareInfo", ClusterHardwareInfo, + array=False, optional=False, + documentation="""Hardware information for all nodes and drives in the cluster. Each object in this output is labeled with the nodeID of the given node. """, + dictionaryType=None + ) + + def __init__(self, + cluster_hardware_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SupportBundleDetails(data_model.DataObject): + """SupportBundleDetails + + :param bundle_name: [required] The name specified in the 'CreateSupportBundle API method. If no name was specified, 'supportbundle' will be used. + :type bundle_name: str + + :param extra_args: [required] The arguments passed with this method. + :type extra_args: str + + :param files: [required] A list of the support bundle files that were created. + :type files: str + + :param url: [required] The URL that you can use to download the bundle file(s). Should correspond 1:1 with files list. + :type url: str + + :param output: [required] The commands that were run and their output, with newlines replaced by HTML
elements. + :type output: str + + :param timeout_sec: [required] The timeout specified for the support bundle creation process. + :type timeout_sec: int + + """ + bundle_name = data_model.property( + "bundleName", str, + array=False, optional=False, + documentation="""The name specified in the 'CreateSupportBundle API method. If no name was specified, 'supportbundle' will be used. """, + dictionaryType=None + ) + extra_args = data_model.property( + "extraArgs", str, + array=False, optional=False, + documentation="""The arguments passed with this method. """, + dictionaryType=None + ) + files = data_model.property( + "files", str, + array=True, optional=False, + documentation="""A list of the support bundle files that were created. """, + dictionaryType=None + ) + url = data_model.property( + "url", str, + array=True, optional=False, + documentation="""The URL that you can use to download the bundle file(s). Should correspond 1:1 with files list. """, + dictionaryType=None + ) + output = data_model.property( + "output", str, + array=False, optional=False, + documentation="""The commands that were run and their output, with newlines replaced by HTML
elements. """, + dictionaryType=None + ) + timeout_sec = data_model.property( + "timeoutSec", int, + array=False, optional=False, + documentation="""The timeout specified for the support bundle creation process. """, + dictionaryType=None + ) + + def __init__(self, + bundle_name, + extra_args, + files, + url, + output, + timeout_sec): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateSupportBundleResult(data_model.DataObject): + """CreateSupportBundleResult + + :param details: [required] The details of the support bundle. + :type details: SupportBundleDetails + + :param duration: [required] The amount of time required to create the support bundle in the format HH:MM:SS.ssssss + :type duration: str + + :param result: [required] Whether the support bundle creation passed of failed. + :type result: str + + """ + details = data_model.property( + "details", SupportBundleDetails, + array=False, optional=False, + documentation="""The details of the support bundle. """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=False, + documentation="""The amount of time required to create the support bundle in the format HH:MM:SS.ssssss """, + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=False, + documentation="""Whether the support bundle creation passed of failed. """, + dictionaryType=None + ) + + def __init__(self, + details, + duration, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetDefaultQoSResult(data_model.DataObject): + """SetDefaultQoSResult + + :param min_iops: [required] The minimum number of sustained IOPS that are provided by the cluster to a volume. + :type min_iops: int + + :param max_iops: [required] The maximum number of sustained IOPS that are provided by the cluster to a volume. + :type max_iops: int + + :param burst_iops: [required] The maximum number of IOPS allowed in a short burst scenario. + :type burst_iops: int + + """ + min_iops = data_model.property( + "minIOPS", int, + array=False, optional=False, + documentation="""The minimum number of sustained IOPS that are provided by the cluster to a volume. """, + dictionaryType=None + ) + max_iops = data_model.property( + "maxIOPS", int, + array=False, optional=False, + documentation="""The maximum number of sustained IOPS that are provided by the cluster to a volume. """, + dictionaryType=None + ) + burst_iops = data_model.property( + "burstIOPS", int, + array=False, optional=False, + documentation="""The maximum number of IOPS allowed in a short burst scenario. """, + dictionaryType=None + ) + + def __init__(self, + min_iops, + max_iops, + burst_iops): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSnmpInfoRequest(data_model.DataObject): + """SetSnmpInfoRequest + SetSnmpInfo enables you to configure SNMP version 2 and version 3 on cluster nodes. The values you set with this interface apply to + all nodes in the cluster, and the values that are passed replace, in whole, all values set in any previous call to SetSnmpInfo. + Note: SetSnmpInfo is deprecated. Use the EnableSnmp and SetSnmpACL methods instead. + + :param networks: List of networks and what type of access they have to the SNMP servers running on the cluster nodes. See the SNMP Network Object for possible "networks" values. This parameter is required only for SNMP v2. + :type networks: SnmpNetwork + + :param enabled: If set to true, SNMP is enabled on each node in the cluster. + :type enabled: bool + + :param snmp_v3_enabled: If set to true, SNMP v3 is enabled on each node in the cluster. + :type snmp_v3_enabled: bool + + :param usm_users: If SNMP v3 is enabled, this value must be passed in place of the networks parameter. This parameter is required only for SNMP v3. + :type usm_users: SnmpV3UsmUser + + """ + networks = data_model.property( + "networks", SnmpNetwork, + array=True, optional=True, + documentation="""List of networks and what type of access they have to the SNMP servers running on the cluster nodes. See the SNMP Network Object for possible "networks" values. This parameter is required only for SNMP v2. """, + dictionaryType=None + ) + enabled = data_model.property( + "enabled", bool, + array=False, optional=True, + documentation="""If set to true, SNMP is enabled on each node in the cluster. """, + dictionaryType=None + ) + snmp_v3_enabled = data_model.property( + "snmpV3Enabled", bool, + array=False, optional=True, + documentation="""If set to true, SNMP v3 is enabled on each node in the cluster. """, + dictionaryType=None + ) + usm_users = data_model.property( + "usmUsers", SnmpV3UsmUser, + array=True, optional=True, + documentation="""If SNMP v3 is enabled, this value must be passed in place of the networks parameter. This parameter is required only for SNMP v3. """, + dictionaryType=None + ) + + def __init__(self, + networks=None, + enabled=None, + snmp_v3_enabled=None, + usm_users=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListStorageContainersRequest(data_model.DataObject): + """ListStorageContainersRequest + ListStorageContainers enables you to retrieve information about all virtual volume storage containers known to the system. + + :param storage_container_ids: A list of storage container IDs for which to retrieve information. If you omit this parameter, the method returns information about all storage containers in the system. + :type storage_container_ids: UUID + + """ + storage_container_ids = data_model.property( + "storageContainerIDs", UUID, + array=True, optional=True, + documentation="""A list of storage container IDs for which to retrieve information. If you omit this parameter, the method returns information about all storage containers in the system. """, + dictionaryType=None + ) + + def __init__(self, + storage_container_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetHardwareInfoResult(data_model.DataObject): + """GetHardwareInfoResult + + :param hardware_info: [required] Hardware information for this node. + :type hardware_info: dict + + """ + hardware_info = data_model.property( + "hardwareInfo", dict, + array=False, optional=False, + documentation="""Hardware information for this node. """, + dictionaryType=None + ) + + def __init__(self, + hardware_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListDriveStatsResult(data_model.DataObject): + """ListDriveStatsResult + + :param drive_stats: [required] List of drive activity information for each drive. + :type drive_stats: DriveStats + + :param errors: [required] If there are errors retrieving information about a drive, this list contains the driveID and associated error message. Always present, and empty if there are no errors. + :type errors: dict + + """ + drive_stats = data_model.property( + "driveStats", DriveStats, + array=True, optional=False, + documentation="""List of drive activity information for each drive. """, + dictionaryType=None + ) + errors = data_model.property( + "errors", dict, + array=True, optional=False, + documentation="""If there are errors retrieving information about a drive, this list contains the driveID and associated error message. Always present, and empty if there are no errors. """, + dictionaryType=None + ) + + def __init__(self, + drive_stats, + errors): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumeAccessGroupResult(data_model.DataObject): + """ModifyVolumeAccessGroupResult + + :param volume_access_group: [required] An object containing information about the newly modified volume access group. + :type volume_access_group: VolumeAccessGroup + + """ + volume_access_group = data_model.property( + "volumeAccessGroup", VolumeAccessGroup, + array=False, optional=False, + documentation="""An object containing information about the newly modified volume access group. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class LoginSessionInfo(data_model.DataObject): + """LoginSessionInfo + + :param timeout: [required] The time, in minutes, when this session will timeout and expire. Formatted in H:mm:ss. For example: 1:30:00, 20:00, 5:00. All leading zeros and colons are removed regardless of the format the timeout was entered. + :type timeout: str + + """ + timeout = data_model.property( + "timeout", str, + array=False, optional=False, + documentation="""The time, in minutes, when this session will timeout and expire. Formatted in H:mm:ss. For example: 1:30:00, 20:00, 5:00. All leading zeros and colons are removed regardless of the format the timeout was entered. """, + dictionaryType=None + ) + + def __init__(self, + timeout): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetLoginSessionInfoResult(data_model.DataObject): + """GetLoginSessionInfoResult + + :param login_session_info: [required] The authentication expiration period. Formatted in H:mm:ss. For example: 1:30:00, 20:00, 5:00. All leading zeros and colons are removed regardless of the format the timeout was entered. Objects returned are: timeout - The time, in minutes, when this session will timeout and expire. + :type login_session_info: LoginSessionInfo + + """ + login_session_info = data_model.property( + "loginSessionInfo", LoginSessionInfo, + array=False, optional=False, + documentation="""The authentication expiration period. Formatted in H:mm:ss. For example: 1:30:00, 20:00, 5:00. All leading zeros and colons are removed regardless of the format the timeout was entered. Objects returned are: timeout - The time, in minutes, when this session will timeout and expire. """, + dictionaryType=None + ) + + def __init__(self, + login_session_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListClusterAdminsResult(data_model.DataObject): + """ListClusterAdminsResult + + :param cluster_admins: [required] Information about the cluster admin. + :type cluster_admins: ClusterAdmin + + """ + cluster_admins = data_model.property( + "clusterAdmins", ClusterAdmin, + array=True, optional=False, + documentation="""Information about the cluster admin. """, + dictionaryType=None + ) + + def __init__(self, + cluster_admins): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNodeStatsResult(data_model.DataObject): + """GetNodeStatsResult + + :param node_stats: [required] Node activity information. + :type node_stats: NodeStatsInfo + + """ + node_stats = data_model.property( + "nodeStats", NodeStatsInfo, + array=False, optional=False, + documentation="""Node activity information. """, + dictionaryType=None + ) + + def __init__(self, + node_stats): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateInitiatorsResult(data_model.DataObject): + """CreateInitiatorsResult + + :param initiators: [required] List of objects containing details about the newly created initiators + :type initiators: Initiator + + """ + initiators = data_model.property( + "initiators", Initiator, + array=True, optional=False, + documentation="""List of objects containing details about the newly created initiators """, + dictionaryType=None + ) + + def __init__(self, + initiators): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetRemoteLoggingHostsResult(data_model.DataObject): + """GetRemoteLoggingHostsResult + + :param remote_hosts: [required] List of hosts to forward logging information to. + :type remote_hosts: LoggingServer + + """ + remote_hosts = data_model.property( + "remoteHosts", LoggingServer, + array=True, optional=False, + documentation="""List of hosts to forward logging information to. """, + dictionaryType=None + ) + + def __init__(self, + remote_hosts): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveClusterPairResult(data_model.DataObject): + """RemoveClusterPairResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumesResult(data_model.DataObject): + """ListVolumesResult + + :param volumes: [required] List of volumes. + :type volumes: Volume + + """ + volumes = data_model.property( + "volumes", Volume, + array=True, optional=False, + documentation="""List of volumes. """, + dictionaryType=None + ) + + def __init__(self, + volumes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetHardwareConfigResult(data_model.DataObject): + """GetHardwareConfigResult + + :param hardware_config: [required] List of hardware information and current settings. + :type hardware_config: dict + + """ + hardware_config = data_model.property( + "hardwareConfig", dict, + array=False, optional=False, + documentation="""List of hardware information and current settings. """, + dictionaryType=None + ) + + def __init__(self, + hardware_config): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetQoSPolicyRequest(data_model.DataObject): + """GetQoSPolicyRequest + You can use the GetQoSPolicy method to get details about a specific QoSPolicy from the system. + + :param qos_policy_id: [required] The ID of the policy to be retrieved. + :type qos_policy_id: int + + """ + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=False, + documentation="""The ID of the policy to be retrieved. """, + dictionaryType=None + ) + + def __init__(self, + qos_policy_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetLimitsResult(data_model.DataObject): + """GetLimitsResult + Limits for the cluster + + :param account_count_max: [required] + :type account_count_max: int + + :param account_name_length_max: [required] + :type account_name_length_max: int + + :param account_name_length_min: [required] + :type account_name_length_min: int + + :param bulk_volume_jobs_per_node_max: [required] + :type bulk_volume_jobs_per_node_max: int + + :param bulk_volume_jobs_per_volume_max: [required] + :type bulk_volume_jobs_per_volume_max: int + + :param clone_jobs_per_volume_max: [required] + :type clone_jobs_per_volume_max: int + + :param cluster_pairs_count_max: [required] + :type cluster_pairs_count_max: int + + :param initiator_name_length_max: [required] + :type initiator_name_length_max: int + + :param initiator_count_max: [required] + :type initiator_count_max: int + + :param initiators_per_volume_access_group_count_max: [required] + :type initiators_per_volume_access_group_count_max: int + + :param iscsi_sessions_from_fibre_channel_nodes_max: [required] + :type iscsi_sessions_from_fibre_channel_nodes_max: int + + :param qos_policy_count_max: [required] + :type qos_policy_count_max: int + + :param secret_length_max: [required] + :type secret_length_max: int + + :param schedule_name_length_max: [required] + :type schedule_name_length_max: int + + :param secret_length_min: [required] + :type secret_length_min: int + + :param snapshot_name_length_max: [required] + :type snapshot_name_length_max: int + + :param snapshots_per_volume_max: [required] + :type snapshots_per_volume_max: int + + :param volume_access_group_count_max: [required] + :type volume_access_group_count_max: int + + :param volume_access_group_lun_max: [required] + :type volume_access_group_lun_max: int + + :param volume_access_group_name_length_max: [required] + :type volume_access_group_name_length_max: int + + :param volume_access_group_name_length_min: [required] + :type volume_access_group_name_length_min: int + + :param volume_access_groups_per_initiator_count_max: [required] + :type volume_access_groups_per_initiator_count_max: int + + :param volume_access_groups_per_volume_count_max: [required] + :type volume_access_groups_per_volume_count_max: int + + :param initiator_alias_length_max: [required] + :type initiator_alias_length_max: int + + :param volume_burst_iopsmax: [required] + :type volume_burst_iopsmax: int + + :param volume_burst_iopsmin: [required] + :type volume_burst_iopsmin: int + + :param volume_count_max: [required] + :type volume_count_max: int + + :param volume_max_iopsmax: [required] + :type volume_max_iopsmax: int + + :param volume_max_iopsmin: [required] + :type volume_max_iopsmin: int + + :param volume_min_iopsmax: [required] + :type volume_min_iopsmax: int + + :param volume_min_iopsmin: [required] + :type volume_min_iopsmin: int + + :param volume_name_length_max: [required] + :type volume_name_length_max: int + + :param volume_name_length_min: [required] + :type volume_name_length_min: int + + :param volume_size_max: [required] + :type volume_size_max: int + + :param volume_size_min: [required] + :type volume_size_min: int + + :param volumes_per_account_count_max: [required] + :type volumes_per_account_count_max: int + + :param volumes_per_group_snapshot_max: [required] + :type volumes_per_group_snapshot_max: int + + :param volumes_per_volume_access_group_count_max: [required] + :type volumes_per_volume_access_group_count_max: int + + :param cluster_admin_account_max: + :type cluster_admin_account_max: int + + :param fibre_channel_volume_access_max: + :type fibre_channel_volume_access_max: int + + :param virtual_volumes_per_account_count_max: + :type virtual_volumes_per_account_count_max: int + + :param virtual_volume_count_max: + :type virtual_volume_count_max: int + + """ + account_count_max = data_model.property( + "accountCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + account_name_length_max = data_model.property( + "accountNameLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + account_name_length_min = data_model.property( + "accountNameLengthMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + bulk_volume_jobs_per_node_max = data_model.property( + "bulkVolumeJobsPerNodeMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + bulk_volume_jobs_per_volume_max = data_model.property( + "bulkVolumeJobsPerVolumeMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + clone_jobs_per_volume_max = data_model.property( + "cloneJobsPerVolumeMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cluster_pairs_count_max = data_model.property( + "clusterPairsCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_name_length_max = data_model.property( + "initiatorNameLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_count_max = data_model.property( + "initiatorCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiators_per_volume_access_group_count_max = data_model.property( + "initiatorsPerVolumeAccessGroupCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + iscsi_sessions_from_fibre_channel_nodes_max = data_model.property( + "iscsiSessionsFromFibreChannelNodesMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + qos_policy_count_max = data_model.property( + "qosPolicyCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + secret_length_max = data_model.property( + "secretLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + schedule_name_length_max = data_model.property( + "scheduleNameLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + secret_length_min = data_model.property( + "secretLengthMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + snapshot_name_length_max = data_model.property( + "snapshotNameLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + snapshots_per_volume_max = data_model.property( + "snapshotsPerVolumeMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_access_group_count_max = data_model.property( + "volumeAccessGroupCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_access_group_lun_max = data_model.property( + "volumeAccessGroupLunMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_access_group_name_length_max = data_model.property( + "volumeAccessGroupNameLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_access_group_name_length_min = data_model.property( + "volumeAccessGroupNameLengthMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_access_groups_per_initiator_count_max = data_model.property( + "volumeAccessGroupsPerInitiatorCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_access_groups_per_volume_count_max = data_model.property( + "volumeAccessGroupsPerVolumeCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + initiator_alias_length_max = data_model.property( + "initiatorAliasLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_burst_iopsmax = data_model.property( + "volumeBurstIOPSMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_burst_iopsmin = data_model.property( + "volumeBurstIOPSMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_count_max = data_model.property( + "volumeCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_max_iopsmax = data_model.property( + "volumeMaxIOPSMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_max_iopsmin = data_model.property( + "volumeMaxIOPSMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_min_iopsmax = data_model.property( + "volumeMinIOPSMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_min_iopsmin = data_model.property( + "volumeMinIOPSMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_name_length_max = data_model.property( + "volumeNameLengthMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_name_length_min = data_model.property( + "volumeNameLengthMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_size_max = data_model.property( + "volumeSizeMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volume_size_min = data_model.property( + "volumeSizeMin", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volumes_per_account_count_max = data_model.property( + "volumesPerAccountCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volumes_per_group_snapshot_max = data_model.property( + "volumesPerGroupSnapshotMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + volumes_per_volume_access_group_count_max = data_model.property( + "volumesPerVolumeAccessGroupCountMax", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + cluster_admin_account_max = data_model.property( + "clusterAdminAccountMax", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + fibre_channel_volume_access_max = data_model.property( + "fibreChannelVolumeAccessMax", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + virtual_volumes_per_account_count_max = data_model.property( + "virtualVolumesPerAccountCountMax", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + virtual_volume_count_max = data_model.property( + "virtualVolumeCountMax", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + account_count_max, + account_name_length_max, + account_name_length_min, + bulk_volume_jobs_per_node_max, + bulk_volume_jobs_per_volume_max, + clone_jobs_per_volume_max, + cluster_pairs_count_max, + initiator_name_length_max, + initiator_count_max, + initiators_per_volume_access_group_count_max, + iscsi_sessions_from_fibre_channel_nodes_max, + qos_policy_count_max, + secret_length_max, + schedule_name_length_max, + secret_length_min, + snapshot_name_length_max, + snapshots_per_volume_max, + volume_access_group_count_max, + volume_access_group_lun_max, + volume_access_group_name_length_max, + volume_access_group_name_length_min, + volume_access_groups_per_initiator_count_max, + volume_access_groups_per_volume_count_max, + initiator_alias_length_max, + volume_burst_iopsmax, + volume_burst_iopsmin, + volume_count_max, + volume_max_iopsmax, + volume_max_iopsmin, + volume_min_iopsmax, + volume_min_iopsmin, + volume_name_length_max, + volume_name_length_min, + volume_size_max, + volume_size_min, + volumes_per_account_count_max, + volumes_per_group_snapshot_max, + volumes_per_volume_access_group_count_max, + cluster_admin_account_max=None, + fibre_channel_volume_access_max=None, + virtual_volumes_per_account_count_max=None, + virtual_volume_count_max=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RollbackToGroupSnapshotRequest(data_model.DataObject): + """RollbackToGroupSnapshotRequest + RollbackToGroupSnapshot enables you to roll back all individual volumes in a snapshot group to each volume's individual snapshot. + Note: Rolling back to a group snapshot creates a temporary snapshot of each volume within the group snapshot. + Snapshots are allowed if cluster fullness is at stage 2 or 3. Snapshots are not created when cluster fullness is at stage 4 or 5. + + :param group_snapshot_id: [required] Specifies the unique ID of the group snapshot. + :type group_snapshot_id: int + + :param save_current_state: [required] Specifies whether to save an active volume image or delete it. Values are: true: The previous active volume image is kept. false: (default) The previous active volume image is deleted. + :type save_current_state: bool + + :param name: Name for the group snapshot of the volume's current state that is created if "saveCurrentState" is set to true. If you do not give a name, the name of the snapshots (group and individual volume) are set to a timestamp of the time that the rollback occurred. + :type name: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=False, + documentation="""Specifies the unique ID of the group snapshot. """, + dictionaryType=None + ) + save_current_state = data_model.property( + "saveCurrentState", bool, + array=False, optional=False, + documentation="""Specifies whether to save an active volume image or delete it. Values are: true: The previous active volume image is kept. false: (default) The previous active volume image is deleted. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=True, + documentation="""Name for the group snapshot of the volume's current state that is created if "saveCurrentState" is set to true. If you do not give a name, the name of the snapshots (group and individual volume) are set to a timestamp of the time that the rollback occurred. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + group_snapshot_id, + save_current_state, + name=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetBackupTargetRequest(data_model.DataObject): + """GetBackupTargetRequest + GetBackupTarget enables you to return information about a specific backup target that you have created. + + :param backup_target_id: [required] The unique identifier assigned to the backup target. + :type backup_target_id: int + + """ + backup_target_id = data_model.property( + "backupTargetID", int, + array=False, optional=False, + documentation="""The unique identifier assigned to the backup target. """, + dictionaryType=None + ) + + def __init__(self, + backup_target_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RollbackToGroupSnapshotResult(data_model.DataObject): + """RollbackToGroupSnapshotResult + + :param group_snapshot: + :type group_snapshot: GroupSnapshot + + :param group_snapshot_id: Unique ID of the new group snapshot. + :type group_snapshot_id: int + + :param members: List of checksum, volumeIDs and snapshotIDs for each member of the group. + :type members: GroupSnapshotMembers + + """ + group_snapshot = data_model.property( + "groupSnapshot", GroupSnapshot, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=True, + documentation="""Unique ID of the new group snapshot. """, + dictionaryType=None + ) + members = data_model.property( + "members", GroupSnapshotMembers, + array=True, optional=True, + documentation="""List of checksum, volumeIDs and snapshotIDs for each member of the group. """, + dictionaryType=None + ) + + def __init__(self, + group_snapshot=None, + group_snapshot_id=None, + members=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteSnapshotResult(data_model.DataObject): + """DeleteSnapshotResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class IpmiInfo(data_model.DataObject): + """IpmiInfo + + :param sensors: [required] + :type sensors: dict + + """ + sensors = data_model.property( + "sensors", dict, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + sensors): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetIpmiInfoNodesResultObject(data_model.DataObject): + """GetIpmiInfoNodesResultObject + + :param ipmi_info: [required] + :type ipmi_info: IpmiInfo + + """ + ipmi_info = data_model.property( + "ipmiInfo", IpmiInfo, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + ipmi_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetIpmiInfoNodesResult(data_model.DataObject): + """GetIpmiInfoNodesResult + + :param node_id: [required] + :type node_id: int + + :param result: [required] + :type result: GetIpmiInfoNodesResultObject + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + result = data_model.property( + "result", GetIpmiInfoNodesResultObject, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + node_id, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetIpmiInfoResult(data_model.DataObject): + """GetIpmiInfoResult + + :param nodes: [required] Detailed information from each sensor within a node. + :type nodes: GetIpmiInfoNodesResult + + """ + nodes = data_model.property( + "nodes", GetIpmiInfoNodesResult, + array=True, optional=False, + documentation="""Detailed information from each sensor within a node. """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DeleteStorageContainerResult(data_model.DataObject): + """DeleteStorageContainerResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumeTasksRequest(data_model.DataObject): + """ListVirtualVolumeTasksRequest + ListVirtualVolumeTasks returns a list of virtual volume tasks in the system. + + :param virtual_volume_task_ids: A list of virtual volume task IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume tasks. + :type virtual_volume_task_ids: UUID + + """ + virtual_volume_task_ids = data_model.property( + "virtualVolumeTaskIDs", UUID, + array=True, optional=True, + documentation="""A list of virtual volume task IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume tasks. """, + dictionaryType=None + ) + + def __init__(self, + virtual_volume_task_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestDrivesRequest(data_model.DataObject): + """TestDrivesRequest + You can use the TestDrives API method to run a hardware validation on all drives on the node. This method detects hardware + failures on the drives (if present) and reports them in the results of the validation tests. + You can only use the TestDrives method on nodes that are not "active" in a cluster. + Note: This test takes approximately 10 minutes. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param minutes: Specifies the number of minutes to run the test. + :type minutes: int + + :param force: Required parameter to successfully test the drives on the node. + :type force: bool + + """ + minutes = data_model.property( + "minutes", int, + array=False, optional=True, + documentation="""Specifies the number of minutes to run the test. """, + dictionaryType=None + ) + force = data_model.property( + "force", bool, + array=False, optional=True, + documentation="""Required parameter to successfully test the drives on the node. """, + dictionaryType=None + ) + + def __init__(self, + minutes=None, + force=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumeAccessGroupLunAssignmentsResult(data_model.DataObject): + """ModifyVolumeAccessGroupLunAssignmentsResult + + :param volume_access_group_lun_assignments: [required] + :type volume_access_group_lun_assignments: VolumeAccessGroupLunAssignments + + """ + volume_access_group_lun_assignments = data_model.property( + "volumeAccessGroupLunAssignments", VolumeAccessGroupLunAssignments, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + volume_access_group_lun_assignments): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Signature(data_model.DataObject): + """Signature + + :param data: [required] + :type data: str + + :param pubkey: [required] + :type pubkey: str + + :param version: [required] + :type version: int + + """ + data = data_model.property( + "data", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + pubkey = data_model.property( + "pubkey", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + version = data_model.property( + "version", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + data, + pubkey, + version): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Origin(data_model.DataObject): + """Origin + + :param signature: [required] + :type signature: Signature + + :param contract_date: [required] + :type contract_date: str + + :param contract_name: [required] + :type contract_name: str + + :param contract_quantity: [required] + :type contract_quantity: int + + :param contract_type: [required] + :type contract_type: str + + :param integrator: [required] + :type integrator: str + + :param location: [required] + :type location: str + + :param organization: [required] + :type organization: str + + :param type: [required] + :type type: str + + """ + signature = data_model.property( + "", Signature, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + contract_date = data_model.property( + "contract-date", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + contract_name = data_model.property( + "contract-name", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + contract_quantity = data_model.property( + "contract-quantity", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + contract_type = data_model.property( + "contract-type", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + integrator = data_model.property( + "integrator", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + location = data_model.property( + "location", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + organization = data_model.property( + "organization", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + type = data_model.property( + "type", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + signature, + contract_date, + contract_name, + contract_quantity, + contract_type, + integrator, + location, + organization, + type): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetOriginNodeResult(data_model.DataObject): + """GetOriginNodeResult + + :param origin: + :type origin: Origin + + """ + origin = data_model.property( + "origin", Origin, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + origin=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetOriginNode(data_model.DataObject): + """GetOriginNode + + :param node_id: [required] + :type node_id: int + + :param result: [required] + :type result: GetOriginNodeResult + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + result = data_model.property( + "result", GetOriginNodeResult, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + node_id, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetOriginResult(data_model.DataObject): + """GetOriginResult + + :param nodes: [required] + :type nodes: GetOriginNode + + """ + nodes = data_model.property( + "nodes", GetOriginNode, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetLoginBannerResult(data_model.DataObject): + """SetLoginBannerResult + + :param login_banner: [required] + :type login_banner: LoginBanner + + """ + login_banner = data_model.property( + "loginBanner", LoginBanner, + array=False, optional=False, + documentation="""""", + dictionaryType=None + ) + + def __init__(self, + login_banner): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ClusterInfo(data_model.DataObject): + """ClusterInfo + Cluster Info object returns information the node uses to communicate with the cluster. + + :param mvip_interface: + :type mvip_interface: str + + :param mvip_vlan_tag: + :type mvip_vlan_tag: str + + :param svip_interface: + :type svip_interface: str + + :param svip_vlan_tag: + :type svip_vlan_tag: str + + :param encryption_at_rest_state: [required] Encryption at rest state. + :type encryption_at_rest_state: str + + :param ensemble: [required] Array of Node IP addresses that are participating in the cluster. + :type ensemble: str + + :param mvip: [required] Management network interface. + :type mvip: str + + :param mvip_node_id: [required] Node holding the master MVIP address + :type mvip_node_id: int + + :param name: [required] Unique cluster name. + :type name: str + + :param rep_count: [required] Number of replicas of each piece of data to store in the cluster. Valid value is 2 + :type rep_count: int + + :param svip: [required] Storage virtual IP + :type svip: str + + :param svip_node_id: [required] Node holding the master SVIP address. + :type svip_node_id: int + + :param unique_id: [required] Unique ID for the cluster. + :type unique_id: str + + :param uuid: [required] + :type uuid: UUID + + :param attributes: [required] List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + mvip_interface = data_model.property( + "mvipInterface", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + mvip_vlan_tag = data_model.property( + "mvipVlanTag", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + svip_interface = data_model.property( + "svipInterface", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + svip_vlan_tag = data_model.property( + "svipVlanTag", str, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + encryption_at_rest_state = data_model.property( + "encryptionAtRestState", str, + array=False, optional=False, + documentation="""Encryption at rest state. """, + dictionaryType=None + ) + ensemble = data_model.property( + "ensemble", str, + array=True, optional=False, + documentation="""Array of Node IP addresses that are participating in the cluster. """, + dictionaryType=None + ) + mvip = data_model.property( + "mvip", str, + array=False, optional=False, + documentation="""Management network interface. """, + dictionaryType=None + ) + mvip_node_id = data_model.property( + "mvipNodeID", int, + array=False, optional=False, + documentation="""Node holding the master MVIP address """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""Unique cluster name. """, + dictionaryType=None + ) + rep_count = data_model.property( + "repCount", int, + array=False, optional=False, + documentation="""Number of replicas of each piece of data to store in the cluster. Valid value is 2 """, + dictionaryType=None + ) + svip = data_model.property( + "svip", str, + array=False, optional=False, + documentation="""Storage virtual IP """, + dictionaryType=None + ) + svip_node_id = data_model.property( + "svipNodeID", int, + array=False, optional=False, + documentation="""Node holding the master SVIP address. """, + dictionaryType=None + ) + unique_id = data_model.property( + "uniqueID", str, + array=False, optional=False, + documentation="""Unique ID for the cluster. """, + dictionaryType=None + ) + uuid = data_model.property( + "uuid", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + encryption_at_rest_state, + ensemble, + mvip, + mvip_node_id, + name, + rep_count, + svip, + svip_node_id, + unique_id, + uuid, + attributes, + mvip_interface=None, + mvip_vlan_tag=None, + svip_interface=None, + svip_vlan_tag=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterInfoResult(data_model.DataObject): + """GetClusterInfoResult + + :param cluster_info: [required] + :type cluster_info: ClusterInfo + + """ + cluster_info = data_model.property( + "clusterInfo", ClusterInfo, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + cluster_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListActivePairedVolumesRequest(data_model.DataObject): + """ListActivePairedVolumesRequest + ListActivePairedVolumes enables you to list all the active volumes paired with a volume. This method returns information about volumes with active and pending pairings. + + :param start_volume_id: The beginning of the range of active paired volumes to return. + :type start_volume_id: int + + :param limit: Maximum number of active paired volumes to return. + :type limit: int + + """ + start_volume_id = data_model.property( + "startVolumeID", int, + array=False, optional=True, + documentation="""The beginning of the range of active paired volumes to return. """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""Maximum number of active paired volumes to return. """, + dictionaryType=None + ) + + def __init__(self, + start_volume_id=None, + limit=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class StartBulkVolumeWriteResult(data_model.DataObject): + """StartBulkVolumeWriteResult + + :param async_handle: [required] ID of the async process to be checked for completion. + :type async_handle: int + + :param key: [required] Opaque key uniquely identifying the session. + :type key: str + + :param url: [required] URL to access the node's web server + :type url: str + + """ + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation="""ID of the async process to be checked for completion. """, + dictionaryType=None + ) + key = data_model.property( + "key", str, + array=False, optional=False, + documentation="""Opaque key uniquely identifying the session. """, + dictionaryType=None + ) + url = data_model.property( + "url", str, + array=False, optional=False, + documentation="""URL to access the node's web server """, + dictionaryType=None + ) + + def __init__(self, + async_handle, + key, + url): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Service(data_model.DataObject): + """Service + + :param service_id: [required] Unique identifier for this service. + :type service_id: int + + :param service_type: [required] + :type service_type: str + + :param node_id: [required] The node this service resides on. + :type node_id: int + + :param associated_bv: This service's associated bulk volume service. This will only be set if the service type is a slice service. + :type associated_bv: int + + :param associated_ts: This service's associated transport service. This will only be set if the service type is a slice service. + :type associated_ts: int + + :param associated_vs: This service's associated volume service. This will only be set if the service type is a slice service. + :type associated_vs: int + + :param async_result_ids: [required] The list of asynchronous jobs currently running for this service. + :type async_result_ids: int + + :param drive_id: If this service resides on a drive, the ID of that drive. + :type drive_id: int + + :param first_time_startup: [required] Has this service started successfully? When a new drive is added to the system, the created service will initially have a value of false here. After the service has started, this value will be set to true. This can be used to check if the service has ever started. + :type first_time_startup: bool + + :param ipc_port: [required] The port used for intra-cluster communication. This will be in the 4000-4100 range. + :type ipc_port: int + + :param iscsi_port: [required] The port used for iSCSI traffic. This will only be set if the service type is a transport service. + :type iscsi_port: int + + :param status: [required] + :type status: str + + :param started_drive_ids: [required] + :type started_drive_ids: int + + :param drive_ids: [required] + :type drive_ids: int + + :param smart_ssd_write_enabled: + :type smart_ssd_write_enabled: bool + + """ + service_id = data_model.property( + "serviceID", int, + array=False, optional=False, + documentation="""Unique identifier for this service. """, + dictionaryType=None + ) + service_type = data_model.property( + "serviceType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""The node this service resides on. """, + dictionaryType=None + ) + associated_bv = data_model.property( + "associatedBV", int, + array=False, optional=True, + documentation="""This service's associated bulk volume service. This will only be set if the service type is a slice service. """, + dictionaryType=None + ) + associated_ts = data_model.property( + "associatedTS", int, + array=False, optional=True, + documentation="""This service's associated transport service. This will only be set if the service type is a slice service. """, + dictionaryType=None + ) + associated_vs = data_model.property( + "associatedVS", int, + array=False, optional=True, + documentation="""This service's associated volume service. This will only be set if the service type is a slice service. """, + dictionaryType=None + ) + async_result_ids = data_model.property( + "asyncResultIDs", int, + array=True, optional=False, + documentation="""The list of asynchronous jobs currently running for this service. """, + dictionaryType=None + ) + drive_id = data_model.property( + "driveID", int, + array=False, optional=True, + documentation="""If this service resides on a drive, the ID of that drive. """, + dictionaryType=None + ) + first_time_startup = data_model.property( + "firstTimeStartup", bool, + array=False, optional=False, + documentation="""Has this service started successfully? When a new drive is added to the system, the created service will initially have a value of false here. After the service has started, this value will be set to true. This can be used to check if the service has ever started. """, + dictionaryType=None + ) + ipc_port = data_model.property( + "ipcPort", int, + array=False, optional=False, + documentation="""The port used for intra-cluster communication. This will be in the 4000-4100 range. """, + dictionaryType=None + ) + iscsi_port = data_model.property( + "iscsiPort", int, + array=False, optional=False, + documentation="""The port used for iSCSI traffic. This will only be set if the service type is a transport service. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + started_drive_ids = data_model.property( + "startedDriveIDs", int, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_ids = data_model.property( + "driveIDs", int, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + smart_ssd_write_enabled = data_model.property( + "smartSsdWriteEnabled", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + service_id, + service_type, + node_id, + async_result_ids, + first_time_startup, + ipc_port, + iscsi_port, + status, + started_drive_ids, + drive_ids, + associated_bv=None, + associated_ts=None, + associated_vs=None, + drive_id=None, + smart_ssd_write_enabled=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class Drive(data_model.DataObject): + """Drive + + :param drive_id: [required] A unique identifier for this drive. + :type drive_id: int + + :param node_id: [required] The node this drive is located. If the drive has been physically removed from the node, this is where it was last seen. + :type node_id: int + + :param assigned_service: If this drive is hosting a service, the identifier for that service. + :type assigned_service: int + + :param async_result_ids: [required] The list of asynchronous jobs currently running on the drive (for example: a secure erase job). + :type async_result_ids: int + + :param capacity: [required] The raw capacity of this drive in bytes. + :type capacity: int + + :param serial: [required] The manufacturer's serial number for this drive. + :type serial: str + + :param slot: Slot number in the server chassis where this drive is located. If the drive has been physically removed from the node, this will not have a value. + :type slot: int + + :param drive_status: [required] The current status of this drive. + :type drive_status: str + + :param drive_type: [required] The type of this drive. + :type drive_type: str + + :param reserved_slice_file_capacity: + :type reserved_slice_file_capacity: int + + :param customer_slice_file_capacity: + :type customer_slice_file_capacity: int + + :param smart_ssd_write_capable: + :type smart_ssd_write_capable: bool + + :param attributes: [required] List of Name/Value pairs in JSON object format. + :type attributes: dict + + """ + drive_id = data_model.property( + "driveID", int, + array=False, optional=False, + documentation="""A unique identifier for this drive. """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation="""The node this drive is located. If the drive has been physically removed from the node, this is where it was last seen. """, + dictionaryType=None + ) + assigned_service = data_model.property( + "assignedService", int, + array=False, optional=True, + documentation="""If this drive is hosting a service, the identifier for that service. """, + dictionaryType=None + ) + async_result_ids = data_model.property( + "asyncResultIDs", int, + array=True, optional=False, + documentation="""The list of asynchronous jobs currently running on the drive (for example: a secure erase job). """, + dictionaryType=None + ) + capacity = data_model.property( + "capacity", int, + array=False, optional=False, + documentation="""The raw capacity of this drive in bytes. """, + dictionaryType=None + ) + serial = data_model.property( + "serial", str, + array=False, optional=False, + documentation="""The manufacturer's serial number for this drive. """, + dictionaryType=None + ) + slot = data_model.property( + "slot", int, + array=False, optional=True, + documentation="""Slot number in the server chassis where this drive is located. If the drive has been physically removed from the node, this will not have a value. """, + dictionaryType=None + ) + drive_status = data_model.property( + "driveStatus", str, + array=False, optional=False, + documentation="""The current status of this drive. """, + dictionaryType=None + ) + drive_type = data_model.property( + "driveType", str, + array=False, optional=False, + documentation="""The type of this drive. """, + dictionaryType=None + ) + reserved_slice_file_capacity = data_model.property( + "reservedSliceFileCapacity", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + customer_slice_file_capacity = data_model.property( + "customerSliceFileCapacity", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + smart_ssd_write_capable = data_model.property( + "smartSsdWriteCapable", bool, + array=False, optional=True, + documentation="""""", + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of Name/Value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + drive_id, + node_id, + async_result_ids, + capacity, + serial, + drive_status, + drive_type, + attributes, + assigned_service=None, + slot=None, + reserved_slice_file_capacity=None, + customer_slice_file_capacity=None, + smart_ssd_write_capable=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DetailedService(data_model.DataObject): + """DetailedService + + :param service: [required] + :type service: Service + + :param node: [required] + :type node: Node + + :param drive: + :type drive: Drive + + :param drives: [required] + :type drives: Drive + + """ + service = data_model.property( + "service", Service, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node = data_model.property( + "node", Node, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive = data_model.property( + "drive", Drive, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + drives = data_model.property( + "drives", Drive, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + service, + node, + drives, + drive=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListServicesResult(data_model.DataObject): + """ListServicesResult + + :param services: [required] + :type services: DetailedService + + """ + services = data_model.property( + "services", DetailedService, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + services): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListActiveNodesResult(data_model.DataObject): + """ListActiveNodesResult + + :param nodes: [required] + :type nodes: Node + + """ + nodes = data_model.property( + "nodes", Node, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListBackupTargetsResult(data_model.DataObject): + """ListBackupTargetsResult + + :param backup_targets: [required] Objects returned for each backup target. + :type backup_targets: BackupTarget + + """ + backup_targets = data_model.property( + "backupTargets", BackupTarget, + array=True, optional=False, + documentation="""Objects returned for each backup target. """, + dictionaryType=None + ) + + def __init__(self, + backup_targets): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SnmpSendTestTrapsResult(data_model.DataObject): + """SnmpSendTestTrapsResult + + :param status: [required] + :type status: str + + """ + status = data_model.property( + "status", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + status): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVirtualVolumeBindingsRequest(data_model.DataObject): + """ListVirtualVolumeBindingsRequest + ListVirtualVolumeBindings returns a list of all virtual volumes in the cluster that are bound to protocol endpoints. + + :param virtual_volume_binding_ids: A list of virtual volume binding IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume bindings. + :type virtual_volume_binding_ids: int + + """ + virtual_volume_binding_ids = data_model.property( + "virtualVolumeBindingIDs", int, + array=True, optional=True, + documentation="""A list of virtual volume binding IDs for which to retrieve information. If you omit this parameter, the method returns information about all virtual volume bindings. """, + dictionaryType=None + ) + + def __init__(self, + virtual_volume_binding_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeStatsByAccountRequest(data_model.DataObject): + """ListVolumeStatsByAccountRequest + ListVolumeStatsByAccount returns high-level activity measurements for every account. Values are summed from all the volumes owned by the account. + + :param accounts: One or more account ids by which to filter the result. + :type accounts: int + + :param include_virtual_volumes: Includes virtual volumes in the response by default. To exclude virtual volumes, set to false. + :type include_virtual_volumes: bool + + """ + accounts = data_model.property( + "accounts", int, + array=True, optional=True, + documentation="""One or more account ids by which to filter the result. """, + dictionaryType=None + ) + include_virtual_volumes = data_model.property( + "includeVirtualVolumes", bool, + array=False, optional=True, + documentation="""Includes virtual volumes in the response by default. To exclude virtual volumes, set to false. """, + dictionaryType=None + ) + + def __init__(self, + accounts=None, + include_virtual_volumes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetSnmpACLResult(data_model.DataObject): + """GetSnmpACLResult + + :param networks: List of networks and what type of access they have to the SNMP servers running on the cluster nodes. Present if SNMP v3 is disabled. + :type networks: SnmpNetwork + + :param usm_users: List of users and the type of access they have to the SNMP servers running on the cluster nodes. Present if SNMP v3 is enabled. + :type usm_users: SnmpV3UsmUser + + """ + networks = data_model.property( + "networks", SnmpNetwork, + array=True, optional=True, + documentation="""List of networks and what type of access they have to the SNMP servers running on the cluster nodes. Present if SNMP v3 is disabled. """, + dictionaryType=None + ) + usm_users = data_model.property( + "usmUsers", SnmpV3UsmUser, + array=True, optional=True, + documentation="""List of users and the type of access they have to the SNMP servers running on the cluster nodes. Present if SNMP v3 is enabled. """, + dictionaryType=None + ) + + def __init__(self, + networks=None, + usm_users=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveVirtualNetworkResult(data_model.DataObject): + """RemoveVirtualNetworkResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EnableSnmpRequest(data_model.DataObject): + """EnableSnmpRequest + EnableSnmp enables you to enable SNMP on cluster nodes. When you enable SNMP, the action applies to all nodes in the cluster, and + the values that are passed replace, in whole, all values set in any previous call to EnableSnmp. + + :param snmp_v3_enabled: [required] If set to "true", then SNMP v3 is enabled on each node in the cluster. If set to "false", then SNMP v2 is enabled. + :type snmp_v3_enabled: bool + + """ + snmp_v3_enabled = data_model.property( + "snmpV3Enabled", bool, + array=False, optional=False, + documentation="""If set to "true", then SNMP v3 is enabled on each node in the cluster. If set to "false", then SNMP v2 is enabled. """, + dictionaryType=None + ) + + def __init__(self, + snmp_v3_enabled): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSnmpInfoResult(data_model.DataObject): + """SetSnmpInfoResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DisableLdapAuthenticationResult(data_model.DataObject): + """DisableLdapAuthenticationResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListSnapshotsResult(data_model.DataObject): + """ListSnapshotsResult + + :param snapshots: [required] Information about each snapshot for each volume. If volumeID is not provided, all snapshots for all volumes is returned. Snapshots that are in a group will be returned with a "groupID". Snapshots that are enabled for replication. + :type snapshots: Snapshot + + """ + snapshots = data_model.property( + "snapshots", Snapshot, + array=True, optional=False, + documentation="""Information about each snapshot for each volume. If volumeID is not provided, all snapshots for all volumes is returned. Snapshots that are in a group will be returned with a "groupID". Snapshots that are enabled for replication. """, + dictionaryType=None + ) + + def __init__(self, + snapshots): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyInitiatorsResult(data_model.DataObject): + """ModifyInitiatorsResult + + :param initiators: [required] List of objects containing details about the modified initiators + :type initiators: Initiator + + """ + initiators = data_model.property( + "initiators", Initiator, + array=True, optional=False, + documentation="""List of objects containing details about the modified initiators """, + dictionaryType=None + ) + + def __init__(self, + initiators): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateClusterRequest(data_model.DataObject): + """CreateClusterRequest + The CreateCluster method enables you to initialize the node in a cluster that has ownership of the "mvip" and "svip" addresses. Each new cluster is initialized using the management IP (MIP) of the first node in the cluster. This method also automatically adds all the nodes being configured into the cluster. You only need to use this method once each time a new cluster is initialized. + Note: You need to log in to the node that is used as the master node for the cluster. After you log in, run the GetBootstrapConfig method on the node to get the IP addresses for the rest of the nodes that you want to include in the + cluster. Then, run the CreateCluster method. + + :param accept_eula: Required to indicate your acceptance of the End User License Agreement when creating this cluster. To accept the EULA, set this parameter to true. + :type accept_eula: bool + + :param mvip: [required] Floating (virtual) IP address for the cluster on the management network. + :type mvip: str + + :param svip: [required] Floating (virtual) IP address for the cluster on the storage (iSCSI) network. + :type svip: str + + :param rep_count: [required] Number of replicas of each piece of data to store in the cluster. Valid value is "2". + :type rep_count: int + + :param username: [required] Username for the cluster admin. + :type username: str + + :param password: [required] Initial password for the cluster admin account. + :type password: str + + :param nodes: [required] CIP/SIP addresses of the initial set of nodes making up the cluster. This node's IP must be in the list. + :type nodes: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + accept_eula = data_model.property( + "acceptEula", bool, + array=False, optional=True, + documentation="""Required to indicate your acceptance of the End User License Agreement when creating this cluster. To accept the EULA, set this parameter to true. """, + dictionaryType=None + ) + mvip = data_model.property( + "mvip", str, + array=False, optional=False, + documentation="""Floating (virtual) IP address for the cluster on the management network. """, + dictionaryType=None + ) + svip = data_model.property( + "svip", str, + array=False, optional=False, + documentation="""Floating (virtual) IP address for the cluster on the storage (iSCSI) network. """, + dictionaryType=None + ) + rep_count = data_model.property( + "repCount", int, + array=False, optional=False, + documentation="""Number of replicas of each piece of data to store in the cluster. Valid value is "2". """, + dictionaryType=None + ) + username = data_model.property( + "username", str, + array=False, optional=False, + documentation="""Username for the cluster admin. """, + dictionaryType=None + ) + password = data_model.property( + "password", str, + array=False, optional=False, + documentation="""Initial password for the cluster admin account. """, + dictionaryType=None + ) + nodes = data_model.property( + "nodes", str, + array=True, optional=False, + documentation="""CIP/SIP addresses of the initial set of nodes making up the cluster. This node's IP must be in the list. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + mvip, + svip, + rep_count, + username, + password, + nodes, + accept_eula=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListEventsRequest(data_model.DataObject): + """ListEventsRequest + ListEvents returns events detected on the cluster, sorted from oldest to newest. + + :param max_events: Specifies the maximum number of events to return. + :type max_events: int + + :param start_event_id: Identifies the beginning of a range of events to return. + :type start_event_id: int + + :param end_event_id: Identifies the end of a range of events to return. + :type end_event_id: int + + :param event_type: + :type event_type: str + + """ + max_events = data_model.property( + "maxEvents", int, + array=False, optional=True, + documentation="""Specifies the maximum number of events to return. """, + dictionaryType=None + ) + start_event_id = data_model.property( + "startEventID", int, + array=False, optional=True, + documentation="""Identifies the beginning of a range of events to return. """, + dictionaryType=None + ) + end_event_id = data_model.property( + "endEventID", int, + array=False, optional=True, + documentation="""Identifies the end of a range of events to return. """, + dictionaryType=None + ) + event_type = data_model.property( + "eventType", str, + array=False, optional=True, + documentation="""""", + dictionaryType=None + ) + + def __init__(self, + max_events=None, + start_event_id=None, + end_event_id=None, + event_type=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PurgeDeletedVolumesResult(data_model.DataObject): + """PurgeDeletedVolumesResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListProtocolEndpointsRequest(data_model.DataObject): + """ListProtocolEndpointsRequest + ListProtocolEndpoints enables you to retrieve information about all protocol endpoints in the cluster. Protocol endpoints govern + access to their associated virtual volume storage containers. + + :param protocol_endpoint_ids: A list of protocol endpoint IDs for which to retrieve information. If you omit this parameter, the method returns information about all protocol endpoints. + :type protocol_endpoint_ids: UUID + + """ + protocol_endpoint_ids = data_model.property( + "protocolEndpointIDs", UUID, + array=True, optional=True, + documentation="""A list of protocol endpoint IDs for which to retrieve information. If you omit this parameter, the method returns information about all protocol endpoints. """, + dictionaryType=None + ) + + def __init__(self, + protocol_endpoint_ids=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListVolumeAccessGroupsResult(data_model.DataObject): + """ListVolumeAccessGroupsResult + + :param volume_access_groups: [required] A list of objects describing each volume access group. + :type volume_access_groups: VolumeAccessGroup + + :param volume_access_groups_not_found: A list of volume access groups not found by the system. Present if you used the "volumeAccessGroups" parameter and the system was unable to find one or more volume access groups that you specified. + :type volume_access_groups_not_found: int + + """ + volume_access_groups = data_model.property( + "volumeAccessGroups", VolumeAccessGroup, + array=True, optional=False, + documentation="""A list of objects describing each volume access group. """, + dictionaryType=None + ) + volume_access_groups_not_found = data_model.property( + "volumeAccessGroupsNotFound", int, + array=True, optional=True, + documentation="""A list of volume access groups not found by the system. Present if you used the "volumeAccessGroups" parameter and the system was unable to find one or more volume access groups that you specified. """, + dictionaryType=None + ) + + def __init__(self, + volume_access_groups, + volume_access_groups_not_found=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestLdapAuthenticationResult(data_model.DataObject): + """TestLdapAuthenticationResult + + :param groups: [required] List of LDAP groups that the tested user is a member of. + :type groups: str + + :param user_dn: [required] The tested user's full LDAP distinguished name. + :type user_dn: str + + """ + groups = data_model.property( + "groups", str, + array=True, optional=False, + documentation="""List of LDAP groups that the tested user is a member of. """, + dictionaryType=None + ) + user_dn = data_model.property( + "userDN", str, + array=False, optional=False, + documentation="""The tested user's full LDAP distinguished name. """, + dictionaryType=None + ) + + def __init__(self, + groups, + user_dn): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListAccountsResult(data_model.DataObject): + """ListAccountsResult + + :param accounts: [required] List of accounts. + :type accounts: Account + + """ + accounts = data_model.property( + "accounts", Account, + array=True, optional=False, + documentation="""List of accounts. """, + dictionaryType=None + ) + + def __init__(self, + accounts): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetSnmpACLRequest(data_model.DataObject): + """SetSnmpACLRequest + SetSnmpACL enables you to configure SNMP access permissions on the cluster nodes. The values you set with this interface apply to all + nodes in the cluster, and the values that are passed replace, in whole, all values set in any previous call to SetSnmpACL. Also note + that the values set with this interface replace all network or usmUsers values set with the older SetSnmpInfo. + + :param networks: [required] List of networks and what type of access they have to the SNMP servers running on the cluster nodes. See SNMP Network Object for possible "networks" values. This parameter is required if SNMP v3 is disabled. + :type networks: SnmpNetwork + + :param usm_users: [required] List of users and the type of access they have to the SNMP servers running on the cluster nodes. + :type usm_users: SnmpV3UsmUser + + """ + networks = data_model.property( + "networks", SnmpNetwork, + array=True, optional=False, + documentation="""List of networks and what type of access they have to the SNMP servers running on the cluster nodes. See SNMP Network Object for possible "networks" values. This parameter is required if SNMP v3 is disabled. """, + dictionaryType=None + ) + usm_users = data_model.property( + "usmUsers", SnmpV3UsmUser, + array=True, optional=False, + documentation="""List of users and the type of access they have to the SNMP servers running on the cluster nodes. """, + dictionaryType=None + ) + + def __init__(self, + networks, + usm_users): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GroupCloneVolumeMember(data_model.DataObject): + """GroupCloneVolumeMember + Represents the relationship between the source Volume and cloned Volume IDs. + + :param volume_id: [required] The VolumeID of the cloned volume. + :type volume_id: int + + :param src_volume_id: [required] The VolumeID of the source volume. + :type src_volume_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The VolumeID of the cloned volume. """, + dictionaryType=None + ) + src_volume_id = data_model.property( + "srcVolumeID", int, + array=False, optional=False, + documentation="""The VolumeID of the source volume. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + src_volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CloneMultipleVolumesResult(data_model.DataObject): + """CloneMultipleVolumesResult + + :param async_handle: [required] A value returned from an asynchronous method call. + :type async_handle: int + + :param group_clone_id: [required] Unique ID of the new group clone. + :type group_clone_id: int + + :param members: [required] List of volumeIDs for the source and destination volume pairs. + :type members: GroupCloneVolumeMember + + """ + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation="""A value returned from an asynchronous method call. """, + dictionaryType=None + ) + group_clone_id = data_model.property( + "groupCloneID", int, + array=False, optional=False, + documentation="""Unique ID of the new group clone. """, + dictionaryType=None + ) + members = data_model.property( + "members", GroupCloneVolumeMember, + array=True, optional=False, + documentation="""List of volumeIDs for the source and destination volume pairs. """, + dictionaryType=None + ) + + def __init__(self, + async_handle, + group_clone_id, + members): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveVolumePairRequest(data_model.DataObject): + """RemoveVolumePairRequest + RemoveVolumePair enables you to remove the remote pairing between two volumes. Use this method on both the source and target volumes that are paired together. When you remove the volume pairing information, data is no longer replicated to or from the volume. + + :param volume_id: [required] The ID of the volume on which to stop the replication process. + :type volume_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume on which to stop the replication process. """, + dictionaryType=None + ) + + def __init__(self, + volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetStorageContainerEfficiencyResult(data_model.DataObject): + """GetStorageContainerEfficiencyResult + + :param compression: [required] + :type compression: float + + :param deduplication: [required] + :type deduplication: float + + :param missing_volumes: [required] The volumes that could not be queried for efficiency data. Missing volumes can be caused by the Garbage Collection (GC) cycle being less than an hour old, temporary loss of network connectivity, or restarted services since the GC cycle. + :type missing_volumes: int + + :param thin_provisioning: [required] + :type thin_provisioning: float + + :param timestamp: [required] The last time efficiency data was collected after Garbage Collection (GC). + :type timestamp: str + + """ + compression = data_model.property( + "compression", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + deduplication = data_model.property( + "deduplication", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + missing_volumes = data_model.property( + "missingVolumes", int, + array=True, optional=False, + documentation="""The volumes that could not be queried for efficiency data. Missing volumes can be caused by the Garbage Collection (GC) cycle being less than an hour old, temporary loss of network connectivity, or restarted services since the GC cycle. """, + dictionaryType=None + ) + thin_provisioning = data_model.property( + "thinProvisioning", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + timestamp = data_model.property( + "timestamp", str, + array=False, optional=False, + documentation="""The last time efficiency data was collected after Garbage Collection (GC). """, + dictionaryType=None + ) + + def __init__(self, + compression, + deduplication, + missing_volumes, + thin_provisioning, + timestamp): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetLoginSessionInfoResult(data_model.DataObject): + """SetLoginSessionInfoResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AsyncHandleResult(data_model.DataObject): + """AsyncHandleResult + + :param async_handle: [required] + :type async_handle: int + + """ + async_handle = data_model.property( + "asyncHandle", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + async_handle): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class PurgeDeletedVolumeRequest(data_model.DataObject): + """PurgeDeletedVolumeRequest + PurgeDeletedVolume immediately and permanently purges a volume that has been deleted. You must delete a volume using + DeleteVolume before it can be purged. Volumes are purged automatically after a period of time, so usage of this method is not + typically required. + + :param volume_id: [required] The ID of the volume to be purged. + :type volume_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume to be purged. """, + dictionaryType=None + ) + + def __init__(self, + volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SyncJob(data_model.DataObject): + """SyncJob + + :param bytes_per_second: [required] + :type bytes_per_second: float + + :param current_bytes: [required] + :type current_bytes: int + + :param dst_service_id: [required] + :type dst_service_id: int + + :param elapsed_time: [required] + :type elapsed_time: float + + :param percent_complete: [required] + :type percent_complete: float + + :param remaining_time: + :type remaining_time: int + + :param slice_id: [required] + :type slice_id: int + + :param src_service_id: [required] + :type src_service_id: int + + :param total_bytes: [required] + :type total_bytes: int + + :param type: [required] + :type type: str + + :param clone_id: [required] + :type clone_id: int + + :param dst_volume_id: [required] + :type dst_volume_id: int + + :param node_id: [required] + :type node_id: int + + :param snapshot_id: [required] + :type snapshot_id: int + + :param src_volume_id: [required] + :type src_volume_id: int + + :param blocks_per_second: [required] + :type blocks_per_second: float + + :param stage: [required] + :type stage: str + + :param group_clone_id: + :type group_clone_id: int + + """ + bytes_per_second = data_model.property( + "bytesPerSecond", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + current_bytes = data_model.property( + "currentBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + dst_service_id = data_model.property( + "dstServiceID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + elapsed_time = data_model.property( + "elapsedTime", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + percent_complete = data_model.property( + "percentComplete", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + remaining_time = data_model.property( + "remainingTime", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + slice_id = data_model.property( + "sliceID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + src_service_id = data_model.property( + "srcServiceID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + total_bytes = data_model.property( + "totalBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + type = data_model.property( + "type", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + clone_id = data_model.property( + "cloneID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + dst_volume_id = data_model.property( + "dstVolumeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + src_volume_id = data_model.property( + "srcVolumeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + blocks_per_second = data_model.property( + "blocksPerSecond", float, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + stage = data_model.property( + "stage", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + group_clone_id = data_model.property( + "groupCloneID", int, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + bytes_per_second, + current_bytes, + dst_service_id, + elapsed_time, + percent_complete, + slice_id, + src_service_id, + total_bytes, + type, + clone_id, + dst_volume_id, + node_id, + snapshot_id, + src_volume_id, + blocks_per_second, + stage, + remaining_time=None, + group_clone_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListSyncJobsResult(data_model.DataObject): + """ListSyncJobsResult + + :param sync_jobs: [required] + :type sync_jobs: SyncJob + + """ + sync_jobs = data_model.property( + "syncJobs", SyncJob, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + sync_jobs): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class BulkVolumeJob(data_model.DataObject): + """BulkVolumeJob + + :param bulk_volume_id: [required] The internal bulk volume job ID. + :type bulk_volume_id: int + + :param create_time: [required] Timestamp created for the bulk volume job. + :type create_time: str + + :param elapsed_time: [required] The number of seconds since the job began. + :type elapsed_time: int + + :param format: [required] Format is either "compressed" or "native". + :type format: str + + :param key: [required] The unique key created by the bulk volume session. + :type key: str + + :param percent_complete: [required] The completed percentage reported by the operation. + :type percent_complete: int + + :param remaining_time: [required] The estimated time remaining in seconds. + :type remaining_time: int + + :param src_volume_id: [required] The source volume ID. + :type src_volume_id: int + + :param status: [required] Can be one of the following: preparing active done failed + :type status: str + + :param script: The name of the script if one is provided. + :type script: str + + :param snapshot_id: ID of the snapshot if a snapshot is in the source of the bulk volume job. + :type snapshot_id: int + + :param type: [required] Can be one of the following: read write + :type type: str + + :param attributes: [required] JSON attributes on the bulk volume job. + :type attributes: dict + + """ + bulk_volume_id = data_model.property( + "bulkVolumeID", int, + array=False, optional=False, + documentation="""The internal bulk volume job ID. """, + dictionaryType=None + ) + create_time = data_model.property( + "createTime", str, + array=False, optional=False, + documentation="""Timestamp created for the bulk volume job. """, + dictionaryType=None + ) + elapsed_time = data_model.property( + "elapsedTime", int, + array=False, optional=False, + documentation="""The number of seconds since the job began. """, + dictionaryType=None + ) + format = data_model.property( + "format", str, + array=False, optional=False, + documentation="""Format is either "compressed" or "native". """, + dictionaryType=None + ) + key = data_model.property( + "key", str, + array=False, optional=False, + documentation="""The unique key created by the bulk volume session. """, + dictionaryType=None + ) + percent_complete = data_model.property( + "percentComplete", int, + array=False, optional=False, + documentation="""The completed percentage reported by the operation. """, + dictionaryType=None + ) + remaining_time = data_model.property( + "remainingTime", int, + array=False, optional=False, + documentation="""The estimated time remaining in seconds. """, + dictionaryType=None + ) + src_volume_id = data_model.property( + "srcVolumeID", int, + array=False, optional=False, + documentation="""The source volume ID. """, + dictionaryType=None + ) + status = data_model.property( + "status", str, + array=False, optional=False, + documentation="""Can be one of the following: preparing active done failed """, + dictionaryType=None + ) + script = data_model.property( + "script", str, + array=False, optional=True, + documentation="""The name of the script if one is provided. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=True, + documentation="""ID of the snapshot if a snapshot is in the source of the bulk volume job. """, + dictionaryType=None + ) + type = data_model.property( + "type", str, + array=False, optional=False, + documentation="""Can be one of the following: read write """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""JSON attributes on the bulk volume job. """, + dictionaryType=None + ) + + def __init__(self, + bulk_volume_id, + create_time, + elapsed_time, + format, + key, + percent_complete, + remaining_time, + src_volume_id, + status, + type, + attributes, + script=None, + snapshot_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListBulkVolumeJobsResult(data_model.DataObject): + """ListBulkVolumeJobsResult + + :param bulk_volume_jobs: [required] An array of information for each bulk volume job. + :type bulk_volume_jobs: BulkVolumeJob + + """ + bulk_volume_jobs = data_model.property( + "bulkVolumeJobs", BulkVolumeJob, + array=True, optional=False, + documentation="""An array of information for each bulk volume job. """, + dictionaryType=None + ) + + def __init__(self, + bulk_volume_jobs): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectMvipRequest(data_model.DataObject): + """TestConnectMvipRequest + The TestConnectMvip API method enables you to test the + management connection to the cluster. The test pings the MVIP and executes a simple API method to verify connectivity. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param mvip: If specified, tests the management connection of a different MVIP. You do not need to use this value when testing the connection to the target cluster. This parameter is optional. + :type mvip: str + + """ + mvip = data_model.property( + "mvip", str, + array=False, optional=True, + documentation="""If specified, tests the management connection of a different MVIP. You do not need to use this value when testing the connection to the target cluster. This parameter is optional. """, + dictionaryType=None + ) + + def __init__(self, + mvip=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetSnmpStateResult(data_model.DataObject): + """GetSnmpStateResult + + :param enabled: [required] If the nodes in the cluster are configured for SNMP. + :type enabled: bool + + :param snmp_v3_enabled: [required] If the node in the cluster is configured for SNMP v3. + :type snmp_v3_enabled: bool + + """ + enabled = data_model.property( + "enabled", bool, + array=False, optional=False, + documentation="""If the nodes in the cluster are configured for SNMP. """, + dictionaryType=None + ) + snmp_v3_enabled = data_model.property( + "snmpV3Enabled", bool, + array=False, optional=False, + documentation="""If the node in the cluster is configured for SNMP v3. """, + dictionaryType=None + ) + + def __init__(self, + enabled, + snmp_v3_enabled): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListPendingActiveNodesResult(data_model.DataObject): + """ListPendingActiveNodesResult + + :param pending_active_nodes: [required] List of objects detailing information about all PendingActive nodes in the system. + :type pending_active_nodes: PendingActiveNode + + """ + pending_active_nodes = data_model.property( + "pendingActiveNodes", PendingActiveNode, + array=True, optional=False, + documentation="""List of objects detailing information about all PendingActive nodes in the system. """, + dictionaryType=None + ) + + def __init__(self, + pending_active_nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CompleteVolumePairingRequest(data_model.DataObject): + """CompleteVolumePairingRequest + You can use the CompleteVolumePairing method to complete the pairing of two volumes. + + :param volume_pairing_key: [required] The key returned from the StartVolumePairing method. + :type volume_pairing_key: str + + :param volume_id: [required] The ID of the volume on which to complete the pairing process. + :type volume_id: int + + """ + volume_pairing_key = data_model.property( + "volumePairingKey", str, + array=False, optional=False, + documentation="""The key returned from the StartVolumePairing method. """, + dictionaryType=None + ) + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""The ID of the volume on which to complete the pairing process. """, + dictionaryType=None + ) + + def __init__(self, + volume_pairing_key, + volume_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetClusterStateRequest(data_model.DataObject): + """GetClusterStateRequest + The GetClusterState API method enables you to indicate if a node is part of a cluster or not. The three states are: + Available: Node has not been configured with a cluster name. + Pending: Node is pending for a specific named cluster and can be added. + Active: Node is an active member of a cluster and may not be added to another + cluster. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param force: [required] To run this command, the force parameter must be set to true. + :type force: bool + + """ + force = data_model.property( + "force", bool, + array=False, optional=False, + documentation="""To run this command, the force parameter must be set to true. """, + dictionaryType=None + ) + + def __init__(self, + force): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DriveHardware(data_model.DataObject): + """DriveHardware + + :param canonical_name: [required] + :type canonical_name: str + + :param connected: [required] + :type connected: bool + + :param dev: [required] + :type dev: int + + :param dev_path: [required] + :type dev_path: str + + :param drive_type: [required] + :type drive_type: str + + :param life_remaining_percent: [required] + :type life_remaining_percent: int + + :param lifetime_read_bytes: [required] + :type lifetime_read_bytes: int + + :param lifetime_write_bytes: [required] + :type lifetime_write_bytes: int + + :param name: [required] + :type name: str + + :param path: [required] + :type path: str + + :param path_link: [required] + :type path_link: str + + :param power_on_hours: [required] + :type power_on_hours: int + + :param product: [required] + :type product: str + + :param reallocated_sectors: [required] + :type reallocated_sectors: int + + :param reserve_capacity_percent: [required] + :type reserve_capacity_percent: int + + :param scsi_compat_id: [required] + :type scsi_compat_id: str + + :param scsi_state: [required] + :type scsi_state: str + + :param security_at_maximum: [required] + :type security_at_maximum: bool + + :param security_enabled: [required] + :type security_enabled: bool + + :param security_frozen: [required] + :type security_frozen: bool + + :param security_locked: [required] + :type security_locked: bool + + :param security_supported: [required] + :type security_supported: bool + + :param serial: [required] + :type serial: str + + :param size: [required] + :type size: int + + :param slot: [required] + :type slot: int + + :param smart_ssd_write_capable: + :type smart_ssd_write_capable: bool + + :param uuid: [required] + :type uuid: UUID + + :param vendor: [required] + :type vendor: str + + :param version: [required] + :type version: str + + """ + canonical_name = data_model.property( + "canonicalName", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + connected = data_model.property( + "connected", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + dev = data_model.property( + "dev", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + dev_path = data_model.property( + "devPath", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + drive_type = data_model.property( + "driveType", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + life_remaining_percent = data_model.property( + "lifeRemainingPercent", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + lifetime_read_bytes = data_model.property( + "lifetimeReadBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + lifetime_write_bytes = data_model.property( + "lifetimeWriteBytes", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + path = data_model.property( + "path", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + path_link = data_model.property( + "pathLink", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + power_on_hours = data_model.property( + "powerOnHours", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + product = data_model.property( + "product", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + reallocated_sectors = data_model.property( + "reallocatedSectors", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + reserve_capacity_percent = data_model.property( + "reserveCapacityPercent", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + scsi_compat_id = data_model.property( + "scsiCompatId", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + scsi_state = data_model.property( + "scsiState", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_at_maximum = data_model.property( + "securityAtMaximum", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_enabled = data_model.property( + "securityEnabled", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_frozen = data_model.property( + "securityFrozen", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_locked = data_model.property( + "securityLocked", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + security_supported = data_model.property( + "securitySupported", bool, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + serial = data_model.property( + "serial", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + size = data_model.property( + "size", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + slot = data_model.property( + "slot", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + smart_ssd_write_capable = data_model.property( + "smartSsdWriteCapable", bool, + array=False, optional=True, + documentation=""" """, + dictionaryType=None + ) + uuid = data_model.property( + "uuid", UUID, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + vendor = data_model.property( + "vendor", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + version = data_model.property( + "version", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + canonical_name, + connected, + dev, + dev_path, + drive_type, + life_remaining_percent, + lifetime_read_bytes, + lifetime_write_bytes, + name, + path, + path_link, + power_on_hours, + product, + reallocated_sectors, + reserve_capacity_percent, + scsi_compat_id, + scsi_state, + security_at_maximum, + security_enabled, + security_frozen, + security_locked, + security_supported, + serial, + size, + slot, + uuid, + vendor, + version, + smart_ssd_write_capable=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class DrivesHardware(data_model.DataObject): + """DrivesHardware + + :param drive_hardware: [required] + :type drive_hardware: DriveHardware + + """ + drive_hardware = data_model.property( + "driveHardware", DriveHardware, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + drive_hardware): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class NodeDriveHardware(data_model.DataObject): + """NodeDriveHardware + + :param node_id: [required] + :type node_id: int + + :param result: [required] + :type result: DrivesHardware + + """ + node_id = data_model.property( + "nodeID", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + result = data_model.property( + "result", DrivesHardware, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + node_id, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListDriveHardwareResult(data_model.DataObject): + """ListDriveHardwareResult + + :param nodes: [required] + :type nodes: NodeDriveHardware + + """ + nodes = data_model.property( + "nodes", NodeDriveHardware, + array=True, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetNodeHardwareInfoResult(data_model.DataObject): + """GetNodeHardwareInfoResult + + :param node_hardware_info: [required] Hardware information for the specified nodeID. + :type node_hardware_info: dict + + """ + node_hardware_info = data_model.property( + "nodeHardwareInfo", dict, + array=False, optional=False, + documentation="""Hardware information for the specified nodeID. """, + dictionaryType=None + ) + + def __init__(self, + node_hardware_info): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class GetSnmpTrapInfoResult(data_model.DataObject): + """GetSnmpTrapInfoResult + + :param trap_recipients: [required] List of hosts that are to receive the traps generated by the cluster. + :type trap_recipients: SnmpTrapRecipient + + :param cluster_fault_traps_enabled: [required] If "true", when a cluster fault is logged a corresponding solidFireClusterFaultNotification is sent to the configured list of trap recipients. + :type cluster_fault_traps_enabled: bool + + :param cluster_fault_resolved_traps_enabled: [required] If "true", when a cluster fault is logged a corresponding solidFireClusterFaultResolvedNotification is sent to the configured list of trap recipients. + :type cluster_fault_resolved_traps_enabled: bool + + :param cluster_event_traps_enabled: [required] If "true", when a cluster fault is logged a corresponding solidFireClusterEventNotification is sent to the configured list of trap recipients. + :type cluster_event_traps_enabled: bool + + """ + trap_recipients = data_model.property( + "trapRecipients", SnmpTrapRecipient, + array=True, optional=False, + documentation="""List of hosts that are to receive the traps generated by the cluster. """, + dictionaryType=None + ) + cluster_fault_traps_enabled = data_model.property( + "clusterFaultTrapsEnabled", bool, + array=False, optional=False, + documentation="""If "true", when a cluster fault is logged a corresponding solidFireClusterFaultNotification is sent to the configured list of trap recipients. """, + dictionaryType=None + ) + cluster_fault_resolved_traps_enabled = data_model.property( + "clusterFaultResolvedTrapsEnabled", bool, + array=False, optional=False, + documentation="""If "true", when a cluster fault is logged a corresponding solidFireClusterFaultResolvedNotification is sent to the configured list of trap recipients. """, + dictionaryType=None + ) + cluster_event_traps_enabled = data_model.property( + "clusterEventTrapsEnabled", bool, + array=False, optional=False, + documentation="""If "true", when a cluster fault is logged a corresponding solidFireClusterEventNotification is sent to the configured list of trap recipients. """, + dictionaryType=None + ) + + def __init__(self, + trap_recipients, + cluster_fault_traps_enabled, + cluster_fault_resolved_traps_enabled, + cluster_event_traps_enabled): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetRemoteLoggingHostsResult(data_model.DataObject): + """SetRemoteLoggingHostsResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class SetClusterConfigRequest(data_model.DataObject): + """SetClusterConfigRequest + The SetClusterConfig API method enables you to set the configuration this node uses to communicate with the cluster it is associated with. To see the states in which these objects can be modified, see Cluster Object Attributes. To display the current cluster + interface settings for a node, run the GetClusterConfig API method. + Note: This method is available only through the per-node API endpoint 5.0 or later. + + :param cluster: [required] Objects that are changed for the cluster interface settings. + :type cluster: ClusterConfig + + """ + cluster = data_model.property( + "cluster", ClusterConfig, + array=False, optional=False, + documentation="""Objects that are changed for the cluster interface settings. """, + dictionaryType=None + ) + + def __init__(self, + cluster): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ResetDriveDetails(data_model.DataObject): + """ResetDriveDetails + + :param drive: [required] Drive name + :type drive: str + + :param return_code: [required] + :type return_code: int + + :param stderr: [required] + :type stderr: str + + :param stdout: [required] + :type stdout: str + + """ + drive = data_model.property( + "drive", str, + array=False, optional=False, + documentation="""Drive name """, + dictionaryType=None + ) + return_code = data_model.property( + "returnCode", int, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + stderr = data_model.property( + "stderr", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + stdout = data_model.property( + "stdout", str, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + + def __init__(self, + drive, + return_code, + stderr, + stdout): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ResetDrivesDetails(data_model.DataObject): + """ResetDrivesDetails + + :param drives: [required] Details of a single drive that is being reset. + :type drives: ResetDriveDetails + + """ + drives = data_model.property( + "drives", ResetDriveDetails, + array=True, optional=False, + documentation="""Details of a single drive that is being reset. """, + dictionaryType=None + ) + + def __init__(self, + drives): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ResetDrivesResult(data_model.DataObject): + """ResetDrivesResult + + :param details: [required] Details of drives that are being reset. + :type details: ResetDrivesDetails + + :param duration: + :type duration: str + + :param result: + :type result: str + + """ + details = data_model.property( + "details", ResetDrivesDetails, + array=False, optional=False, + documentation="""Details of drives that are being reset. """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=True, + documentation="""""", + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=True, + documentation="""""", + dictionaryType=None + ) + + def __init__(self, + details, + duration=None, + result=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ListAccountsRequest(data_model.DataObject): + """ListAccountsRequest + ListAccounts returns the entire list of accounts, with optional paging support. + + :param start_account_id: Starting AccountID to return. If no account exists with this AccountID, the next account by AccountID order is used as the start of the list. To page through the list, pass the AccountID of the last account in the previous response + 1. + :type start_account_id: int + + :param limit: Maximum number of AccountInfo objects to return. + :type limit: int + + :param include_storage_containers: Includes storage containers in the response by default. To exclude storage containers, set to false. + :type include_storage_containers: bool + + """ + start_account_id = data_model.property( + "startAccountID", int, + array=False, optional=True, + documentation="""Starting AccountID to return. If no account exists with this AccountID, the next account by AccountID order is used as the start of the list. To page through the list, pass the AccountID of the last account in the previous response + 1. """, + dictionaryType=None + ) + limit = data_model.property( + "limit", int, + array=False, optional=True, + documentation="""Maximum number of AccountInfo objects to return. """, + dictionaryType=None + ) + include_storage_containers = data_model.property( + "includeStorageContainers", bool, + array=False, optional=True, + documentation="""Includes storage containers in the response by default. To exclude storage containers, set to false. """, + dictionaryType=None + ) + + def __init__(self, + start_account_id=None, + limit=None, + include_storage_containers=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyClusterFullThresholdRequest(data_model.DataObject): + """ModifyClusterFullThresholdRequest + You can use ModifyClusterFullThreshold to change the level at which the system generates an event when the storage cluster approaches a certain capacity utilization. You can use the threshold setting to indicate the acceptable amount of utilized block storage before the system generates a warning. For example, if you want to be alerted when the system reaches 3% below the "Error" level block storage utilization, enter a value of "3" for the stage3BlockThresholdPercent parameter. If this level is reached, the system sends an alert to the Event Log in the Cluster Management Console. + + :param stage2_aware_threshold: The number of nodes of capacity remaining in the cluster before the system triggers a capacity notification. + :type stage2_aware_threshold: int + + :param stage3_block_threshold_percent: The percentage of block storage utilization below the "Error" threshold that causes the system to trigger a cluster "Warning" alert. + :type stage3_block_threshold_percent: int + + :param max_metadata_over_provision_factor: A value representative of the number of times metadata space can be overprovisioned relative to the amount of space available. For example, if there was enough metadata space to store 100 TiB of volumes and this number was set to 5, then 500 TiB worth of volumes can be created. + :type max_metadata_over_provision_factor: int + + """ + stage2_aware_threshold = data_model.property( + "stage2AwareThreshold", int, + array=False, optional=True, + documentation="""The number of nodes of capacity remaining in the cluster before the system triggers a capacity notification. """, + dictionaryType=None + ) + stage3_block_threshold_percent = data_model.property( + "stage3BlockThresholdPercent", int, + array=False, optional=True, + documentation="""The percentage of block storage utilization below the "Error" threshold that causes the system to trigger a cluster "Warning" alert. """, + dictionaryType=None + ) + max_metadata_over_provision_factor = data_model.property( + "maxMetadataOverProvisionFactor", int, + array=False, optional=True, + documentation="""A value representative of the number of times metadata space can be overprovisioned relative to the amount of space available. For example, if there was enough metadata space to store 100 TiB of volumes and this number was set to 5, then 500 TiB worth of volumes can be created. """, + dictionaryType=None + ) + + def __init__(self, + stage2_aware_threshold=None, + stage3_block_threshold_percent=None, + max_metadata_over_provision_factor=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class AddClusterAdminRequest(data_model.DataObject): + """AddClusterAdminRequest + You can use AddClusterAdmin to add a new cluster admin account. A cluster ddmin can manage the cluster using the API and management tools. Cluster admins are completely separate and unrelated to standard tenant accounts. + Each cluster admin can be restricted to a subset of the API. NetApp recommends using multiple cluster admin accounts for different users and applications. You should give each cluster admin the minimal permissions necessary; this reduces the potential impact of credential compromise. + You must accept the End User License Agreement (EULA) by setting the acceptEula parameter to true to add a cluster administrator account to the system. + + :param username: [required] Unique username for this cluster admin. Must be between 1 and 1024 characters in length. + :type username: str + + :param password: [required] Password used to authenticate this cluster admin. + :type password: str + + :param access: [required] Controls which methods this cluster admin can use. For more details on the levels of access, see Access Control in the Element API Reference Guide. + :type access: str + + :param accept_eula: Required to indicate your acceptance of the End User License Agreement when creating this cluster. To accept the EULA, set this parameter to true. + :type accept_eula: bool + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + username = data_model.property( + "username", str, + array=False, optional=False, + documentation="""Unique username for this cluster admin. Must be between 1 and 1024 characters in length. """, + dictionaryType=None + ) + password = data_model.property( + "password", str, + array=False, optional=False, + documentation="""Password used to authenticate this cluster admin. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=True, optional=False, + documentation="""Controls which methods this cluster admin can use. For more details on the levels of access, see Access Control in the Element API Reference Guide. """, + dictionaryType=None + ) + accept_eula = data_model.property( + "acceptEula", bool, + array=False, optional=True, + documentation="""Required to indicate your acceptance of the End User License Agreement when creating this cluster. To accept the EULA, set this parameter to true. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + username, + password, + access, + accept_eula=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class EnableFeatureResult(data_model.DataObject): + """EnableFeatureResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveBackupTargetResult(data_model.DataObject): + """RemoveBackupTargetResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CloneVolumeRequest(data_model.DataObject): + """CloneVolumeRequest + CloneVolume enables you to create a copy of a volume. This method is asynchronous and might take a variable amount of time to complete. The cloning process begins immediately when you make the CloneVolume request and is representative of the state of the volume when the API method is issued. You can use the GetAsyncResult method to determine when the cloning process is complete and the new volume is available for connections. You can use ListSyncJobs to see the progress of creating the clone. + Note: The initial attributes and QoS settings for the volume are inherited from the volume being cloned. You can change these settings with ModifyVolume. + Note: Cloned volumes do not inherit volume access group memberships from the source volume. + + :param volume_id: [required] VolumeID for the volume to be cloned. + :type volume_id: int + + :param name: [required] The name of the new cloned volume. Might be 1 to 64 characters in length. + :type name: str + + :param new_account_id: AccountID for the owner of the new volume. If unspecified, the accountID of the owner of the volume being cloned is used. + :type new_account_id: int + + :param new_size: New size of the volume, in bytes. Might be greater or less than the size of the volume being cloned. If unspecified, the volume size is not changed. Size is rounded to the nearest 1MB. + :type new_size: int + + :param access: Specifies the level of access allowed for the new volume. Possible values are: readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. If unspecified, the level of access of the volume being cloned is used. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If a value is not specified, the access value does not change. + :type access: str + + :param snapshot_id: ID of the snapshot that is used as the source of the clone. If no ID is provided, the current active volume is used. + :type snapshot_id: int + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param enable512e: Should the volume provide 512-byte sector emulation? + :type enable512e: bool + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""VolumeID for the volume to be cloned. """, + dictionaryType=None + ) + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name of the new cloned volume. Might be 1 to 64 characters in length. """, + dictionaryType=None + ) + new_account_id = data_model.property( + "newAccountID", int, + array=False, optional=True, + documentation="""AccountID for the owner of the new volume. If unspecified, the accountID of the owner of the volume being cloned is used. """, + dictionaryType=None + ) + new_size = data_model.property( + "newSize", int, + array=False, optional=True, + documentation="""New size of the volume, in bytes. Might be greater or less than the size of the volume being cloned. If unspecified, the volume size is not changed. Size is rounded to the nearest 1MB. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=False, optional=True, + documentation="""Specifies the level of access allowed for the new volume. Possible values are: readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. If unspecified, the level of access of the volume being cloned is used. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If a value is not specified, the access value does not change. """, + dictionaryType=None + ) + snapshot_id = data_model.property( + "snapshotID", int, + array=False, optional=True, + documentation="""ID of the snapshot that is used as the source of the clone. If no ID is provided, the current active volume is used. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + enable512e = data_model.property( + "enable512e", bool, + array=False, optional=True, + documentation="""Should the volume provide 512-byte sector emulation? """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + name, + new_account_id=None, + new_size=None, + access=None, + snapshot_id=None, + attributes=None, + enable512e=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateBackupTargetRequest(data_model.DataObject): + """CreateBackupTargetRequest + CreateBackupTarget enables you to create and store backup target information so that you do not need to re-enter it each time a backup is created. + + :param name: [required] The name of the backup target. + :type name: str + + :param attributes: [required] List of name-value pairs in JSON object format. + :type attributes: dict + + """ + name = data_model.property( + "name", str, + array=False, optional=False, + documentation="""The name of the backup target. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=False, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + name, + attributes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyVolumeRequest(data_model.DataObject): + """ModifyVolumeRequest + ModifyVolume enables you to modify settings on an existing volume. You can make modifications to one volume at a time and + changes take place immediately. If you do not specify QoS values when you modify a volume, they remain the same as before the modification. You can retrieve + default QoS values for a newly created volume by running the GetDefaultQoS method. + When you need to increase the size of a volume that is being replicated, do so in the following order to prevent replication errors: + 1. Increase the size of the "Replication Target" volume. + 2. Increase the size of the source or "Read / Write" volume. + NetApp recommends that both the target and source volumes are the same size. + Note: If you change the "access" status to locked or target, all existing iSCSI connections are terminated. + + :param volume_id: [required] VolumeID for the volume to be modified. + :type volume_id: int + + :param account_id: AccountID to which the volume is reassigned. If unspecified, the previous account name is used. + :type account_id: int + + :param access: Specifies the access allowed for the volume. Possible values are: readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. If not specified, the access value does not change. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If a value is not specified, the access value does not change. + :type access: str + + :param qos: New QoS settings for this volume. If not specified, the QoS settings are not changed. + :type qos: QoS + + :param total_size: New size of the volume in bytes. 1000000000 is equal to 1GB. Size is rounded up to the nearest 1MB. This parameter can only be used to increase the size of a volume. + :type total_size: int + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + :param associate_with_qos_policy: Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. + :type associate_with_qos_policy: bool + + :param qos_policy_id: The ID for the policy whose QoS settings should be applied to the specified volumes. The volume will not maintain any association with the policy; this is an alternate way to apply QoS settings to the volume. This parameter and the qos parameter cannot be specified at the same time. + :type qos_policy_id: int + + """ + volume_id = data_model.property( + "volumeID", int, + array=False, optional=False, + documentation="""VolumeID for the volume to be modified. """, + dictionaryType=None + ) + account_id = data_model.property( + "accountID", int, + array=False, optional=True, + documentation="""AccountID to which the volume is reassigned. If unspecified, the previous account name is used. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=False, optional=True, + documentation="""Specifies the access allowed for the volume. Possible values are: readOnly: Only read operations are allowed. readWrite: Reads and writes are allowed. locked: No reads or writes are allowed. If not specified, the access value does not change. replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If a value is not specified, the access value does not change. """, + dictionaryType=None + ) + qos = data_model.property( + "qos", QoS, + array=False, optional=True, + documentation="""New QoS settings for this volume. If not specified, the QoS settings are not changed. """, + dictionaryType=None + ) + total_size = data_model.property( + "totalSize", int, + array=False, optional=True, + documentation="""New size of the volume in bytes. 1000000000 is equal to 1GB. Size is rounded up to the nearest 1MB. This parameter can only be used to increase the size of a volume. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + associate_with_qos_policy = data_model.property( + "associateWithQoSPolicy", bool, + array=False, optional=True, + documentation="""Associate the volume with the specified QoS policy. Possible values: true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter. false: Do not assosciate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed regardless of whether you specify a QoS policy in the QoSPolicyID parameter. """, + dictionaryType=None + ) + qos_policy_id = data_model.property( + "qosPolicyID", int, + array=False, optional=True, + documentation="""The ID for the policy whose QoS settings should be applied to the specified volumes. The volume will not maintain any association with the policy; this is an alternate way to apply QoS settings to the volume. This parameter and the qos parameter cannot be specified at the same time. """, + dictionaryType=None + ) + + def __init__(self, + volume_id, + account_id=None, + access=None, + qos=None, + total_size=None, + attributes=None, + associate_with_qos_policy=None, + qos_policy_id=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CreateGroupSnapshotResult(data_model.DataObject): + """CreateGroupSnapshotResult + + :param group_snapshot: [required] + :type group_snapshot: GroupSnapshot + + :param group_snapshot_id: [required] Unique ID of the new group snapshot. + :type group_snapshot_id: int + + :param members: [required] List of checksum, volumeIDs and snapshotIDs for each member of the group. + :type members: GroupSnapshotMembers + + """ + group_snapshot = data_model.property( + "groupSnapshot", GroupSnapshot, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + group_snapshot_id = data_model.property( + "groupSnapshotID", int, + array=False, optional=False, + documentation="""Unique ID of the new group snapshot. """, + dictionaryType=None + ) + members = data_model.property( + "members", GroupSnapshotMembers, + array=True, optional=False, + documentation="""List of checksum, volumeIDs and snapshotIDs for each member of the group. """, + dictionaryType=None + ) + + def __init__(self, + group_snapshot, + group_snapshot_id, + members): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class ModifyClusterAdminRequest(data_model.DataObject): + """ModifyClusterAdminRequest + You can use ModifyClusterAdmin to change the settings for a cluster admin or LDAP cluster admin. You cannot change access for the administrator cluster admin account. + + :param cluster_admin_id: [required] ClusterAdminID for the cluster admin or LDAP cluster admin to modify. + :type cluster_admin_id: int + + :param password: Password used to authenticate this cluster admin. + :type password: str + + :param access: Controls which methods this cluster admin can use. For more details, see Access Control in the Element API Reference Guide. + :type access: str + + :param attributes: List of name-value pairs in JSON object format. + :type attributes: dict + + """ + cluster_admin_id = data_model.property( + "clusterAdminID", int, + array=False, optional=False, + documentation="""ClusterAdminID for the cluster admin or LDAP cluster admin to modify. """, + dictionaryType=None + ) + password = data_model.property( + "password", str, + array=False, optional=True, + documentation="""Password used to authenticate this cluster admin. """, + dictionaryType=None + ) + access = data_model.property( + "access", str, + array=True, optional=True, + documentation="""Controls which methods this cluster admin can use. For more details, see Access Control in the Element API Reference Guide. """, + dictionaryType=None + ) + attributes = data_model.property( + "attributes", dict, + array=False, optional=True, + documentation="""List of name-value pairs in JSON object format. """, + dictionaryType=None + ) + + def __init__(self, + cluster_admin_id, + password=None, + access=None, + attributes=None): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveSSLCertificateResult(data_model.DataObject): + """RemoveSSLCertificateResult + + """ + + def __init__(self): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class RemoveClusterPairRequest(data_model.DataObject): + """RemoveClusterPairRequest + You can use the RemoveClusterPair method to close the open connections between two paired clusters. + Note: Before you remove a cluster pair, you must first remove all volume pairing to the clusters with the "RemoveVolumePair" API method. + + :param cluster_pair_id: [required] Unique identifier used to pair two clusters. + :type cluster_pair_id: int + + """ + cluster_pair_id = data_model.property( + "clusterPairID", int, + array=False, optional=False, + documentation="""Unique identifier used to pair two clusters. """, + dictionaryType=None + ) + + def __init__(self, + cluster_pair_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class CompleteClusterPairingResult(data_model.DataObject): + """CompleteClusterPairingResult + + :param cluster_pair_id: [required] Unique identifier for the cluster pair. + :type cluster_pair_id: int + + """ + cluster_pair_id = data_model.property( + "clusterPairID", int, + array=False, optional=False, + documentation="""Unique identifier for the cluster pair. """, + dictionaryType=None + ) + + def __init__(self, + cluster_pair_id): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectEnsembleDetails(data_model.DataObject): + """TestConnectEnsembleDetails + + :param nodes: [required] A list of each ensemble node in the test and the results of the tests. + :type nodes: dict + + """ + nodes = data_model.property( + "nodes", dict, + array=False, optional=False, + documentation="""A list of each ensemble node in the test and the results of the tests. """, + dictionaryType=None + ) + + def __init__(self, + nodes): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) + +class TestConnectEnsembleResult(data_model.DataObject): + """TestConnectEnsembleResult + + :param details: [required] + :type details: TestConnectEnsembleDetails + + :param duration: [required] The length of time required to run the test. + :type duration: str + + :param result: [required] The results of the entire test + :type result: str + + """ + details = data_model.property( + "details", TestConnectEnsembleDetails, + array=False, optional=False, + documentation=""" """, + dictionaryType=None + ) + duration = data_model.property( + "duration", str, + array=False, optional=False, + documentation="""The length of time required to run the test. """, + dictionaryType=None + ) + result = data_model.property( + "result", str, + array=False, optional=False, + documentation="""The results of the entire test """, + dictionaryType=None + ) + + def __init__(self, + details, + duration, + result): + kwargs = locals() + del kwargs["self"] + data_model.DataObject.__init__(self, **kwargs) \ No newline at end of file From 738ce64418de1a23072e97b3ffd89a625e60cf19 Mon Sep 17 00:00:00 2001 From: Michael Blessing Date: Fri, 1 Dec 2017 08:07:41 -0700 Subject: [PATCH 006/139] Modified to not ignore __init__.py and models.py, which are needed to build the docs on ReadTheDocs. --- solidfire/.gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/solidfire/.gitignore b/solidfire/.gitignore index c7c6d840..61db30f5 100644 --- a/solidfire/.gitignore +++ b/solidfire/.gitignore @@ -1,4 +1,2 @@ resources.py unitTests.py -/models.py -/__init__.py From 1d7bec115396aa090eef6c89e070eeb343acd2ec Mon Sep 17 00:00:00 2001 From: Michael Blessing Date: Fri, 1 Dec 2017 08:08:17 -0700 Subject: [PATCH 007/139] Modified the path to hopefully allow the doc build on ReadTheDocs to find the needed solidfire modules. --- docs/conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index 966ff684..eddb70aa 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,6 +1,9 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- import sphinx_rtd_theme +import os +import sys +sys.path.append(os.path.join(os.path.dirname(__name__), '..')) extensions = [ 'sphinx.ext.autodoc', From 3709b0bcff5c75f567914d7a80ffa738d3e94056 Mon Sep 17 00:00:00 2001 From: Adam Haid Date: Fri, 1 Dec 2017 12:06:37 -0700 Subject: [PATCH 008/139] move all files from docs/ to root --- _build/doctrees-readthedocs/README.doctree | Bin 0 -> 32358 bytes .../doctrees-readthedocs/docs/index.doctree | Bin 0 -> 4884 bytes .../doctrees-readthedocs/docs/modules.doctree | Bin 0 -> 2557 bytes .../docs/solidfire.adaptor.doctree | Bin 0 -> 55644 bytes .../docs/solidfire.apiactual.doctree | Bin 0 -> 73459 bytes .../docs/solidfire.common.doctree | Bin 0 -> 154029 bytes .../docs/solidfire.custom.doctree | Bin 0 -> 3276 bytes .../docs/solidfire.doctree | Bin 0 -> 4988722 bytes .../docs/solidfire.util.doctree | Bin 0 -> 5457 bytes .../doctrees-readthedocs}/environment.pickle | Bin 1593807 -> 1781466 bytes .../examples/README.doctree | Bin 0 -> 3390 bytes .../examples/examples.doctree | Bin 0 -> 3392 bytes .../examples/manage_accounts.doctree | Bin 0 -> 16568 bytes .../examples/snapshot_scheduling.doctree | Bin 0 -> 28013 bytes _build/doctrees-readthedocs/index.doctree | Bin 0 -> 4869 bytes _build/doctrees-readthedocs/modules.doctree | Bin 0 -> 2542 bytes .../solidfire.adaptor.doctree | Bin 0 -> 62382 bytes .../solidfire.apiactual.doctree | Bin 0 -> 89857 bytes .../solidfire.common.doctree | Bin 0 -> 174063 bytes .../solidfire.custom.doctree | Bin 0 -> 3271 bytes _build/doctrees-readthedocs/solidfire.doctree | Bin 0 -> 4988687 bytes .../solidfire.util.doctree | Bin 0 -> 5824 bytes {docs/_build => _build}/html/.buildinfo | 4 +- _build/html/README.html | 419 + .../html/_modules/index.html | 48 +- .../html/_modules/solidfire.html | 1090 +- .../html/_modules/solidfire/adaptor.html | 56 +- .../solidfire/adaptor/schedule_adaptor.html | 107 +- .../html/_modules/solidfire/apiactual.html | 128 +- .../html/_modules/solidfire/common.html | 355 +- .../html/_modules/solidfire/common/model.html | 138 +- .../html/_modules/solidfire/factory.html | 105 +- .../html/_modules/solidfire/models.html | 30381 ++++++++-------- .../html/_modules/solidfire/util.html | 54 +- _build/html/_sources/README.rst.txt | 233 + .../html/_sources/docs}/index.rst.txt | 0 .../html/_sources/docs}/modules.rst.txt | 0 .../_sources/docs}/solidfire.adaptor.rst.txt | 0 .../docs}/solidfire.apiactual.rst.txt | 0 .../_sources/docs}/solidfire.common.rst.txt | 0 .../_sources/docs}/solidfire.custom.rst.txt | 0 .../html/_sources/docs}/solidfire.rst.txt | 8 - .../_sources/docs}/solidfire.util.rst.txt | 0 _build/html/_sources/examples/README.rst.txt | 8 + .../html/_sources/examples/examples.rst.txt | 8 + .../_sources/examples/manage_accounts.rst.txt | 140 + .../examples/snapshot_scheduling.rst.txt | 219 + .../html/_sources/index.rst.txt | 0 .../html/_sources/modules.rst.txt | 0 .../html/_sources/solidfire.adaptor.rst.txt | 0 .../html/_sources/solidfire.apiactual.rst.txt | 0 .../html/_sources/solidfire.common.rst.txt | 0 .../html/_sources/solidfire.custom.rst.txt | 0 .../html/_sources/solidfire.rst.txt | 14 +- .../html/_sources/solidfire.util.rst.txt | 0 _build/html/_static/PythonSDK-58x58.png | Bin 0 -> 2008 bytes .../html/_static/PythonSDK.png | Bin .../html/_static/ajax-loader.gif | Bin .../_build => _build}/html/_static/basic.css | 79 +- _build/html/_static/comment-bright.png | Bin 0 -> 756 bytes _build/html/_static/comment-close.png | Bin 0 -> 829 bytes _build/html/_static/comment.png | Bin 0 -> 641 bytes .../html/_static/css/badge_only.css | 2 +- _build/html/_static/css/theme.css | 5 + .../html/_static/doctools.js | 28 +- _build/html/_static/down-pressed.png | Bin 0 -> 222 bytes _build/html/_static/down.png | Bin 0 -> 202 bytes .../html/_static/favicon.ico | Bin _build/html/_static/file.png | Bin 0 -> 286 bytes .../html/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 109948 bytes .../_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 96964 bytes _build/html/_static/fonts/Lato-Bold.ttf | Bin 0 -> 656544 bytes _build/html/_static/fonts/Lato-Regular.ttf | Bin 0 -> 656568 bytes .../html/_static/fonts/RobotoSlab-Bold.ttf | Bin .../html/_static/fonts/RobotoSlab-Regular.ttf | Bin .../_static/fonts/fontawesome-webfont.eot | Bin 0 -> 76518 bytes .../_static/fonts/fontawesome-webfont.svg | 207 +- .../_static/fonts/fontawesome-webfont.ttf | Bin 112160 -> 152796 bytes .../_static/fonts/fontawesome-webfont.woff | Bin 0 -> 90412 bytes .../html/_static/jquery-3.1.0.js | 0 _build/html/_static/jquery.js | 4 + .../html/_static/js/modernizr.min.js | 0 .../html/_static/js/theme.js | 58 +- _build/html/_static/minus.png | Bin 0 -> 90 bytes _build/html/_static/plus.png | Bin 0 -> 90 bytes .../html/_static/pygments.css | 4 + .../html/_static/searchtools.js | 121 +- .../html/_static/underscore-1.3.1.js | 0 .../html/_static/underscore.js | 0 _build/html/_static/up-pressed.png | Bin 0 -> 214 bytes _build/html/_static/up.png | Bin 0 -> 203 bytes .../html/_static/websupport.js | 4 +- _build/html/docs/index.html | 324 + _build/html/docs/modules.html | 264 + _build/html/docs/solidfire.adaptor.html | 433 + _build/html/docs/solidfire.apiactual.html | 547 + _build/html/docs/solidfire.common.html | 941 + .../html/docs/solidfire.custom.html | 101 +- _build/html/docs/solidfire.html | 19073 ++++++++++ _build/html/docs/solidfire.util.html | 248 + _build/html/examples/README.html | 235 + _build/html/examples/examples.html | 235 + _build/html/examples/manage_accounts.html | 351 + _build/html/examples/snapshot_scheduling.html | 425 + _build/html/genindex.html | 5606 +++ {docs/_build => _build}/html/index.html | 59 +- {docs/_build => _build}/html/modules.html | 51 +- _build/html/objects.inv | Bin 0 -> 13981 bytes {docs/_build => _build}/html/py-modindex.html | 70 +- {docs/_build => _build}/html/search.html | 46 +- _build/html/searchindex.js | 1 + .../html/solidfire.adaptor.html | 79 +- .../html/solidfire.apiactual.html | 112 +- .../html/solidfire.common.html | 108 +- .../html/solidfire.custom.html | 68 +- {docs/_build => _build}/html/solidfire.html | 3713 +- .../html/solidfire.util.html | 66 +- _config.yml | 16 - _layouts/index.html | 35 - docs/conf.py => conf.py | 0 docs/Makefile | 216 - docs/_build/doctrees/index.doctree | Bin 5433 -> 0 bytes docs/_build/doctrees/modules.doctree | Bin 2756 -> 0 bytes docs/_build/doctrees/project.doctree | Bin 2272 -> 0 bytes .../_build/doctrees/solidfire.adaptor.doctree | Bin 61501 -> 0 bytes .../doctrees/solidfire.apiactual.doctree | Bin 84682 -> 0 bytes docs/_build/doctrees/solidfire.common.doctree | Bin 174882 -> 0 bytes docs/_build/doctrees/solidfire.custom.doctree | Bin 3535 -> 0 bytes docs/_build/doctrees/solidfire.doctree | Bin 7421852 -> 0 bytes docs/_build/doctrees/solidfire.util.doctree | Bin 6383 -> 0 bytes .../html/_modules/solidfire/custom.html | 402 - .../html/_modules/solidfire/results.html | 3934 -- docs/_build/html/_sources/project.txt | 2 - docs/_build/html/_static/comment-bright.png | Bin 3500 -> 0 bytes docs/_build/html/_static/comment-close.png | Bin 3578 -> 0 bytes docs/_build/html/_static/comment.png | Bin 3445 -> 0 bytes docs/_build/html/_static/css/theme.css | 5 - docs/_build/html/_static/down-pressed.png | Bin 347 -> 0 bytes docs/_build/html/_static/down.png | Bin 347 -> 0 bytes docs/_build/html/_static/file.png | Bin 358 -> 0 bytes .../html/_static/fonts/Inconsolata-Bold.ttf | Bin 66352 -> 0 bytes .../_static/fonts/Inconsolata-Regular.ttf | Bin 84548 -> 0 bytes docs/_build/html/_static/fonts/Lato-Bold.ttf | Bin 121788 -> 0 bytes .../html/_static/fonts/Lato-Regular.ttf | Bin 120196 -> 0 bytes .../_static/fonts/fontawesome-webfont.eot | Bin 56006 -> 0 bytes .../_static/fonts/fontawesome-webfont.woff | Bin 65452 -> 0 bytes docs/_build/html/_static/jquery-1.11.1.js | 10308 ------ docs/_build/html/_static/jquery.js | 4 - docs/_build/html/_static/minus.png | Bin 173 -> 0 bytes docs/_build/html/_static/plus.png | Bin 173 -> 0 bytes docs/_build/html/_static/solidfire.css | 4 - docs/_build/html/_static/up-pressed.png | Bin 345 -> 0 bytes docs/_build/html/_static/up.png | Bin 345 -> 0 bytes docs/_build/html/genindex.html | 10588 ------ docs/_build/html/objects.inv | Bin 14446 -> 0 bytes docs/_build/html/searchindex.js | 1 - docs/_static/PythonSDK.png | Bin 61785 -> 0 bytes docs/_static/favicon.ico | Bin 1102 -> 0 bytes docs/_static/solidfire.css | 4 - docs/make.bat | 263 - front.yml | 4 - docs/index.rst => index.rst | 0 docs/modules.rst => modules.rst | 0 ...dfire.adaptor.rst => solidfire.adaptor.rst | 0 ...e.apiactual.rst => solidfire.apiactual.rst | 0 ...lidfire.common.rst => solidfire.common.rst | 0 ...lidfire.custom.rst => solidfire.custom.rst | 0 docs/solidfire.rst => solidfire.rst | 14 +- docs/solidfire.util.rst => solidfire.util.rst | 0 stylesheets/github-light.css | 116 - stylesheets/normalize.css | 424 - stylesheets/stylesheet.css | 245 - stylesheets/syntax.css | 187 - 173 files changed, 47686 insertions(+), 46269 deletions(-) create mode 100644 _build/doctrees-readthedocs/README.doctree create mode 100644 _build/doctrees-readthedocs/docs/index.doctree create mode 100644 _build/doctrees-readthedocs/docs/modules.doctree create mode 100644 _build/doctrees-readthedocs/docs/solidfire.adaptor.doctree create mode 100644 _build/doctrees-readthedocs/docs/solidfire.apiactual.doctree create mode 100644 _build/doctrees-readthedocs/docs/solidfire.common.doctree create mode 100644 _build/doctrees-readthedocs/docs/solidfire.custom.doctree create mode 100644 _build/doctrees-readthedocs/docs/solidfire.doctree create mode 100644 _build/doctrees-readthedocs/docs/solidfire.util.doctree rename {docs/_build/doctrees => _build/doctrees-readthedocs}/environment.pickle (60%) create mode 100644 _build/doctrees-readthedocs/examples/README.doctree create mode 100644 _build/doctrees-readthedocs/examples/examples.doctree create mode 100644 _build/doctrees-readthedocs/examples/manage_accounts.doctree create mode 100644 _build/doctrees-readthedocs/examples/snapshot_scheduling.doctree create mode 100644 _build/doctrees-readthedocs/index.doctree create mode 100644 _build/doctrees-readthedocs/modules.doctree create mode 100644 _build/doctrees-readthedocs/solidfire.adaptor.doctree create mode 100644 _build/doctrees-readthedocs/solidfire.apiactual.doctree create mode 100644 _build/doctrees-readthedocs/solidfire.common.doctree create mode 100644 _build/doctrees-readthedocs/solidfire.custom.doctree create mode 100644 _build/doctrees-readthedocs/solidfire.doctree create mode 100644 _build/doctrees-readthedocs/solidfire.util.doctree rename {docs/_build => _build}/html/.buildinfo (65%) create mode 100644 _build/html/README.html rename {docs/_build => _build}/html/_modules/index.html (88%) rename {docs/_build => _build}/html/_modules/solidfire.html (89%) rename {docs/_build => _build}/html/_modules/solidfire/adaptor.html (94%) rename {docs/_build => _build}/html/_modules/solidfire/adaptor/schedule_adaptor.html (94%) rename {docs/_build => _build}/html/_modules/solidfire/apiactual.html (87%) rename {docs/_build => _build}/html/_modules/solidfire/common.html (75%) rename {docs/_build => _build}/html/_modules/solidfire/common/model.html (88%) rename {docs/_build => _build}/html/_modules/solidfire/factory.html (79%) rename {docs/_build => _build}/html/_modules/solidfire/models.html (80%) rename {docs/_build => _build}/html/_modules/solidfire/util.html (93%) create mode 100644 _build/html/_sources/README.rst.txt rename {docs/_build/html/_sources => _build/html/_sources/docs}/index.rst.txt (100%) rename {docs/_build/html/_sources => _build/html/_sources/docs}/modules.rst.txt (100%) rename {docs/_build/html/_sources => _build/html/_sources/docs}/solidfire.adaptor.rst.txt (100%) rename {docs/_build/html/_sources => _build/html/_sources/docs}/solidfire.apiactual.rst.txt (100%) rename {docs/_build/html/_sources => _build/html/_sources/docs}/solidfire.common.rst.txt (100%) rename {docs/_build/html/_sources => _build/html/_sources/docs}/solidfire.custom.rst.txt (100%) rename {docs/_build/html/_sources => _build/html/_sources/docs}/solidfire.rst.txt (83%) rename {docs/_build/html/_sources => _build/html/_sources/docs}/solidfire.util.rst.txt (100%) create mode 100644 _build/html/_sources/examples/README.rst.txt create mode 100644 _build/html/_sources/examples/examples.rst.txt create mode 100644 _build/html/_sources/examples/manage_accounts.rst.txt create mode 100644 _build/html/_sources/examples/snapshot_scheduling.rst.txt rename docs/_build/html/_sources/index.txt => _build/html/_sources/index.rst.txt (100%) rename docs/_build/html/_sources/modules.txt => _build/html/_sources/modules.rst.txt (100%) rename docs/_build/html/_sources/solidfire.adaptor.txt => _build/html/_sources/solidfire.adaptor.rst.txt (100%) rename docs/_build/html/_sources/solidfire.apiactual.txt => _build/html/_sources/solidfire.apiactual.rst.txt (100%) rename docs/_build/html/_sources/solidfire.common.txt => _build/html/_sources/solidfire.common.rst.txt (100%) rename docs/_build/html/_sources/solidfire.custom.txt => _build/html/_sources/solidfire.custom.rst.txt (100%) rename docs/_build/html/_sources/solidfire.txt => _build/html/_sources/solidfire.rst.txt (70%) rename docs/_build/html/_sources/solidfire.util.txt => _build/html/_sources/solidfire.util.rst.txt (100%) create mode 100644 _build/html/_static/PythonSDK-58x58.png rename {docs/_build => _build}/html/_static/PythonSDK.png (100%) rename {docs/_build => _build}/html/_static/ajax-loader.gif (100%) rename {docs/_build => _build}/html/_static/basic.css (90%) create mode 100644 _build/html/_static/comment-bright.png create mode 100644 _build/html/_static/comment-close.png create mode 100644 _build/html/_static/comment.png rename {docs/_build => _build}/html/_static/css/badge_only.css (99%) create mode 100644 _build/html/_static/css/theme.css rename {docs/_build => _build}/html/_static/doctools.js (89%) create mode 100644 _build/html/_static/down-pressed.png create mode 100644 _build/html/_static/down.png rename {docs/_build => _build}/html/_static/favicon.ico (100%) create mode 100644 _build/html/_static/file.png create mode 100644 _build/html/_static/fonts/Inconsolata-Bold.ttf create mode 100644 _build/html/_static/fonts/Inconsolata-Regular.ttf create mode 100644 _build/html/_static/fonts/Lato-Bold.ttf create mode 100644 _build/html/_static/fonts/Lato-Regular.ttf rename {docs/_build => _build}/html/_static/fonts/RobotoSlab-Bold.ttf (100%) rename {docs/_build => _build}/html/_static/fonts/RobotoSlab-Regular.ttf (100%) create mode 100644 _build/html/_static/fonts/fontawesome-webfont.eot rename {docs/_build => _build}/html/_static/fonts/fontawesome-webfont.svg (69%) rename {docs/_build => _build}/html/_static/fonts/fontawesome-webfont.ttf (63%) create mode 100644 _build/html/_static/fonts/fontawesome-webfont.woff rename {docs/_build => _build}/html/_static/jquery-3.1.0.js (100%) create mode 100644 _build/html/_static/jquery.js rename {docs/_build => _build}/html/_static/js/modernizr.min.js (100%) rename {docs/_build => _build}/html/_static/js/theme.js (75%) create mode 100644 _build/html/_static/minus.png create mode 100644 _build/html/_static/plus.png rename {docs/_build => _build}/html/_static/pygments.css (94%) rename {docs/_build => _build}/html/_static/searchtools.js (72%) rename {docs/_build => _build}/html/_static/underscore-1.3.1.js (100%) rename {docs/_build => _build}/html/_static/underscore.js (100%) create mode 100644 _build/html/_static/up-pressed.png create mode 100644 _build/html/_static/up.png rename {docs/_build => _build}/html/_static/websupport.js (99%) create mode 100644 _build/html/docs/index.html create mode 100644 _build/html/docs/modules.html create mode 100644 _build/html/docs/solidfire.adaptor.html create mode 100644 _build/html/docs/solidfire.apiactual.html create mode 100644 _build/html/docs/solidfire.common.html rename docs/_build/html/project.html => _build/html/docs/solidfire.custom.html (51%) create mode 100644 _build/html/docs/solidfire.html create mode 100644 _build/html/docs/solidfire.util.html create mode 100644 _build/html/examples/README.html create mode 100644 _build/html/examples/examples.html create mode 100644 _build/html/examples/manage_accounts.html create mode 100644 _build/html/examples/snapshot_scheduling.html create mode 100644 _build/html/genindex.html rename {docs/_build => _build}/html/index.html (90%) rename {docs/_build => _build}/html/modules.html (90%) create mode 100644 _build/html/objects.inv rename {docs/_build => _build}/html/py-modindex.html (86%) rename {docs/_build => _build}/html/search.html (88%) create mode 100644 _build/html/searchindex.js rename {docs/_build => _build}/html/solidfire.adaptor.html (91%) rename {docs/_build => _build}/html/solidfire.apiactual.html (83%) rename {docs/_build => _build}/html/solidfire.common.html (93%) rename {docs/_build => _build}/html/solidfire.custom.html (80%) rename {docs/_build => _build}/html/solidfire.html (82%) rename {docs/_build => _build}/html/solidfire.util.html (83%) delete mode 100644 _config.yml delete mode 100644 _layouts/index.html rename docs/conf.py => conf.py (100%) delete mode 100644 docs/Makefile delete mode 100644 docs/_build/doctrees/index.doctree delete mode 100644 docs/_build/doctrees/modules.doctree delete mode 100644 docs/_build/doctrees/project.doctree delete mode 100644 docs/_build/doctrees/solidfire.adaptor.doctree delete mode 100644 docs/_build/doctrees/solidfire.apiactual.doctree delete mode 100644 docs/_build/doctrees/solidfire.common.doctree delete mode 100644 docs/_build/doctrees/solidfire.custom.doctree delete mode 100644 docs/_build/doctrees/solidfire.doctree delete mode 100644 docs/_build/doctrees/solidfire.util.doctree delete mode 100644 docs/_build/html/_modules/solidfire/custom.html delete mode 100644 docs/_build/html/_modules/solidfire/results.html delete mode 100644 docs/_build/html/_sources/project.txt delete mode 100644 docs/_build/html/_static/comment-bright.png delete mode 100644 docs/_build/html/_static/comment-close.png delete mode 100644 docs/_build/html/_static/comment.png delete mode 100644 docs/_build/html/_static/css/theme.css delete mode 100644 docs/_build/html/_static/down-pressed.png delete mode 100644 docs/_build/html/_static/down.png delete mode 100644 docs/_build/html/_static/file.png delete mode 100644 docs/_build/html/_static/fonts/Inconsolata-Bold.ttf delete mode 100644 docs/_build/html/_static/fonts/Inconsolata-Regular.ttf delete mode 100644 docs/_build/html/_static/fonts/Lato-Bold.ttf delete mode 100644 docs/_build/html/_static/fonts/Lato-Regular.ttf delete mode 100644 docs/_build/html/_static/fonts/fontawesome-webfont.eot delete mode 100644 docs/_build/html/_static/fonts/fontawesome-webfont.woff delete mode 100644 docs/_build/html/_static/jquery-1.11.1.js delete mode 100644 docs/_build/html/_static/jquery.js delete mode 100644 docs/_build/html/_static/minus.png delete mode 100644 docs/_build/html/_static/plus.png delete mode 100644 docs/_build/html/_static/solidfire.css delete mode 100644 docs/_build/html/_static/up-pressed.png delete mode 100644 docs/_build/html/_static/up.png delete mode 100644 docs/_build/html/genindex.html delete mode 100644 docs/_build/html/objects.inv delete mode 100644 docs/_build/html/searchindex.js delete mode 100644 docs/_static/PythonSDK.png delete mode 100644 docs/_static/favicon.ico delete mode 100644 docs/_static/solidfire.css delete mode 100644 docs/make.bat delete mode 100644 front.yml rename docs/index.rst => index.rst (100%) rename docs/modules.rst => modules.rst (100%) rename docs/solidfire.adaptor.rst => solidfire.adaptor.rst (100%) rename docs/solidfire.apiactual.rst => solidfire.apiactual.rst (100%) rename docs/solidfire.common.rst => solidfire.common.rst (100%) rename docs/solidfire.custom.rst => solidfire.custom.rst (100%) rename docs/solidfire.rst => solidfire.rst (70%) rename docs/solidfire.util.rst => solidfire.util.rst (100%) delete mode 100644 stylesheets/github-light.css delete mode 100644 stylesheets/normalize.css delete mode 100644 stylesheets/stylesheet.css delete mode 100644 stylesheets/syntax.css diff --git a/_build/doctrees-readthedocs/README.doctree b/_build/doctrees-readthedocs/README.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e2be9ac0e6b9fed5d5a8c5e25ed0268d8920120d GIT binary patch literal 32358 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 literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/docs/index.doctree b/_build/doctrees-readthedocs/docs/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4e897f481d1ed8f8e56519fa9fd455b56f0a7983 GIT binary patch literal 4884 zcmds5UvDHw5x39Y_3qkU`<(a`!5tc;+{HO%y>|(U5=#Lgq)5oZNN@r1a2fZ`^lrC3 zJ2RQ?vDb<~;Q@4(T1b$IkN^pIhHrr23!s36#4{g+2l!RbpPijMY(HaZt?laSs_Lp= zRafmNtDkjWTC#tp??+y$WuW%M$mc3E9U@G5sIyPA*MFS-FxxZTgq^D>O+22NC2)8` z27bcB>}j?qmdu(LO&1P`mie2C0_l%s!ktnc(=rO3DN~v!&R7Qg4aZA3)7*DP7d;gV z8O{bDrP4c9nkCu+^OKZ2@AHxK=3CC=M+cAJJ$Uq%^X8++Z}0bh5T%aCLWlV*){YiZ zS&#XSw1~nXu%?DG^!aQ*Q93iL zfed+e*h)u)Q$^8?!V1`QTM8_JxTU2Icx}tv|2_`@Cr&`B)V`(`@%-f+8QVAIp8NSR zZaaj7#T|H6yaITA0iV10dgvX;Y0d*ZXyd{MvPT-z)S{NUVOVw?o+#rJ-L_n|sh~<@vkMe7~q8YegD8$NN7o zEOt$A9zY-rmr10>)sd}JY993Lrx`OFGW3Gf=TuAxV}dc$nX;MBV=c17RbUj=fg*ln zRwqF;$}UY?NZ&{4x-^@`>59+^)9HvO+|Le|OwZy$MPYD}T~a8%TexH$F8OxTe`c$= z?cf|?iFuN-W+=Z^x-yq@l#Y1i3G?cCjv@HrC&GS7FgxE2ed%%Ku+Voj8!UP4^>zb^`gXx6dfvpA5R)POT>;@zBZl)bsJrftu7nfTC( zJ7-ClJtI8-s(``EFyoh3nL*5DJs{>!uVel>n0_{oEs!pLQO2T-)igpNP^O=Y)#o-= zzb^SjzW!Zfjd+w28u9pN)4DzJhZ}|BAI*a|4#mG3p%8znSttH1J`{gh@c1tL^Y^Q? z)jdwkf4z?RN{{#R>` zv;5G$_NJDSwm2@l5j#j2D#!yA-t4u38F!6v~ux$EXnov{d z7W5;tQBrKhJTe`{wMKEp2yvU9Ejv?;6Wf!Z4z|C?f)r0kRayr}ri+@&6Q-jC4|LbZ zD1gp?8e_4ZtHDDMo?_W6mT3}TwTZXZrPh*mp{_-J!bN6w#%SNeNb}m};j-DJwhvFc zI~zyIGy|ot&{xE6F}5g({9;bw0jEJmx#v;~w`_2su{cn4ytsVA<0!#H#m{(<9o{lM z!GdbpGPn6m!dIHJ*tuu z6#i6?2k#7&#P_?4n=Vh1C~*Zq5uoirO5$!F-hizr)r(SER!U~>HFg>zPFzZ(elB-z zL+gVl?+@OA{>6>PVY5wlP;iuhivrv2Zw4%!q-?_BaUYM_Ewo?eC5%>4;=Ab8@F+tK zHF`&;jd5&@Yr-SacQGc6gVM3Cr%laK`@aLZEQ z-B3~Z=cHKi)Q?q|wQ5H3JU>6*&u5zbD4E#N2b^k{ znO!^0O7Wv=FKsYXW;CV$EG*s2kF8bC!C)deZw zQxn}W_W-D=Tjf?|zMBtom*$SOMuwQwsM!W?$wxkbypA6ZswEO{TU}t-p1DF!M1YT- z&>}+khMHpLcRxyzz6#yUJx^f9@es#6eGnO{GcLGJ(-;i&yM=Ahi?l{R4~h)O2x*z; zJCyk<9WC;0b9DJWQttvSt>EaFF3qkNMC{b%=&b@5GYrO48f~AM6&{`uiqKYRjQ&(J zFv4oIP$SdHivY3?0HWedzZST84`xT++t3X_Xw*Wu1#=2b&}L_Wnh(n$L)y4nP}fFt zHt1_a%)jr6nMhCGMS7mRP4A@X(jIk)b~G2WBfEK&idSf+OvOXXCq7QiW<7pZ?k3ts zi&R2NPN5tt`SJ_YDLEgeeME6Oih>Ffmi6TZvEuG7NbHtc?V+6o`SxcYs?WPkS;fwh p>7W8sY<-NuNF4m~pio?LfmNa}kk>1+4OY*m+Eb({HLB@o|G%wmLP!7r literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/docs/modules.doctree b/_build/doctrees-readthedocs/docs/modules.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8851ecca79af8ff9d7ad4ad306384645bf44b487 GIT binary patch literal 2557 zcmZ8jOK%%D5O!kgWm~f2Ha#RU+M);=w~*BWJp{ev){6mM^0*ZQcS(tacgZauwhS~t zduR~@yp{c<{RREFyIM&Wu+VZioZ-xT-^~7T@b7=4z4{j>Oy}Oo!d@!PxQ$_$1SMB4 z{u3|$j348xFf#PkYHxBL!yYtpAq!@>ioZs&7Y3H+PHNTZi=OCO;$E(LaLx{s%mzDO4ZDpcKQaG`dkZN^F z8EY#ra5{H}Z)dI170(f{I7iaH#Pc1-vHS_!i=nQFt2NDH}{TzM;eZ$ z$_vlpUDR3!TOL&=-<1l>I)8+tZz3sC=1m!&$uA z3x{>ltyaZdy!YZ;@uPSpF2r|N2T1f3McfG_oV4*yZw;*~ZX(@|EuH^b%~G;7f~Eab>h?w`&+cuuU3YL07wPPyFv-11P$Vr(=HYlPsjEE?L(83$ zY6&7e>6o=JS~-s5hyDjzc;tIcEisvg(UL1}sM985!6<<3Xjx%#)VLwAeU0T|yY!~O zYK*Lr1n9I2cfC~cyBN+ET05m3-`c!-6vm0AC=yvMv?(Jb6AOe?1jtNmw=ns;DDRN*LmpYS}hPG(jghC(68hwihh_-?=;zn!ea?UjhQbi z(xEPqJqaWLXA~`x!IN5o)GC{5zY$fId#1^%On5rwt4dqGbFzj=?#PX_vccyGVbap9 zNP)Ds9IV+OF2XT_vA{oVJIA*8m{#ojU!*C8Xm82t9cYR{3RNnjWMSUBoFf&r*0By<<1B#C@JG&)V zcWUpHqbnlhQWSXVNud+Gk8Mdorr$icYhm*|7Zh|r9UJbTGO5WBXkGgX3TbrLownsP z+A<_kEl|=m$qaBN*wb%O4*^Yg5MB`Eme)`Z>yMqq~@Vrx- j-~$Nsz$cAG3uz2?blwpkb>g}thb(oNmW*lY`Rww4NRaqo literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/docs/solidfire.adaptor.doctree b/_build/doctrees-readthedocs/docs/solidfire.adaptor.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d9b50bfeebc2dd2bc616b03058f7450f9b3112ca GIT binary patch literal 55644 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 literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/docs/solidfire.common.doctree b/_build/doctrees-readthedocs/docs/solidfire.common.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0a99ff6a5526a256f4959b438a5afba8fe6d3b33 GIT binary patch literal 154029 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 Kj>_)D*#86HXfmS! literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/docs/solidfire.custom.doctree b/_build/doctrees-readthedocs/docs/solidfire.custom.doctree new file mode 100644 index 0000000000000000000000000000000000000000..36b01535f8adccd850ba1c5dd55e419f96d375f6 GIT binary patch literal 3276 zcmcguOK%)S5Vqs2?e$~r7|biNScD?hLAx6XgrZ0sIDkMF3y6eUH0qh|*={^DJ@ms~ zACTaHlt_J}`9b^${tsWz?94u*zzHm^JY8K~)m8n~SM|&7KmI(}sQz4!%ETIx=}{pm z)86d{LCy-}fA{CV`k(#4brreR(yD}cw*ifWi;OB(_-CGPxE;+BBV^I)^A6wUJJ0+8 zn;j!e#+J6+TUusF;K=PKY!;mVgXV9(x)>atxb2eQD#r6; z8xyxjj8P)C2BCzjZwab#O}CR|L~97~-6=?3f9+CRE*3HFp;#JptlKeU8n!&|@pt$> z-{f0vyGg>As+0_EMH{iA+9|_O88ymfuA9@@8b6!e(&RVA2IR| zs@OgZvGD;v=MOGAHg-q4hw}U$>QRR4mtchX@47j)3 zEHy7b$g8lXEGt#I1}->&htm3PsUmpHk>1B zDd*!FYvU*qg)mVxDsLW#SHU%lX+pk8=v;H^67ufh7 zsr>HWu<;Ea{9k!)Ue?B}1=Zlym~cmPw6x{G8gMsTi%KEOc<;hfRm%&!FFY<0&aj3{ z10+vc`>&?2mmF;^6&C9I)s@&13qKD)-*mmisz7SdoNy-YppjH`F>$+^83X8ouV6Kea$yOUH(Q%J*>HZL~aVdw^h&7)Z=Rqi3_g(54XMCJki8Yb`75>_K$N7use zs3B;0oFAAoHiB2Il*&XIyJ8u*((Q4QwabpX!)B;yL}RROlsc|MS!}0p*SjXFK(3&n z7|9{&8buNog7VK@PZXs!5i1f&q2*oInsoSRs0F_7t!_q4DXAh(3Ysy6Jcp|$pz$MV z&8n47WyQO*wVgE++`C?Fba8>s(7 z*0<24-D}_=sc1x5$w1^q5}0}7woyGPVnjLwjY@PrF$3MY9 zI17QyZ@JS{13z~M2u1_{q#8T`nYmh&imYlou2-@$LQD*GlvME^1W8QbIsn`CxiO`F zJRValmH;Y6?)PDF-*!%;ODfFK{@It@J|i*7rX8ZXv(9uu-fZK8Xb-K7w(PfHfT3Yg~$QgkRu8d z?_)-5m#Dg9eNz}Ri@2Eb48LmBkOAHYIwvTmpDb!u!{%AS(cluiMqN92nLsiTv@UH4 zg)kykW8A!^UjPg;5k-n8ZHoLPl)bj`s@^fnV@6STH+U7!n1Qv^B$MPaVmT36gc(Dz zYA$>3wpei$P&8%6U;+$;fvAmtj+tb)W&o5N0EB6zYO9eU3d+??cL%-!2!l};X+awf z42h8M1Y!L>;03?rDNn5H2C2Czk*qLD6%(FLEI$k1muMyl zhLSKQY}dD0Q0{yRZW|g$2Ur`yTt{fMGK2`)|EuYO=uH#MVwgUxJ6r}sb;-j-fapS$ zxOgoI1>5M=*;tm;dYF3wi9D8Bi?2%c^)+Fu-CeQRZM;^8PFC!Lc$EoEf4XjKzO&(W nK_{(R4+9md5Hq+2Q`H7r)>skmx8myM_h=xpdCiCBYU9!0`ZE0q literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/docs/solidfire.doctree b/_build/doctrees-readthedocs/docs/solidfire.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3086e69de988594b5151663f5369b6303542ad80 GIT binary patch literal 4988722 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�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 z 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

dh&#*I^lPms*kp3 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%0DkBt-8{q}UqT@2LDa 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

+w`eNo7gh)I+QI&|Px4C5 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

s+d+gOpetlBhs%H&$ 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%0DSr)x%e+ywfcY8S`-YSufyq@>0hr64 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 L#A+Bny#N0KmZ_qs literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/docs/solidfire.util.doctree b/_build/doctrees-readthedocs/docs/solidfire.util.doctree new file mode 100644 index 0000000000000000000000000000000000000000..db451bf29fad046d7adc989846c237930e046022 GIT binary patch literal 5457 zcmcgw+iN4&8MoJ#Wcea{y>U`DF;yC}kvB*Rw3HCiLMSY3P1UrU%}crrM>9t{M;^^g z=A5x*N}zoxtjlR$I(;d9DE%W!p%hC0fc`V3Q2LbLcjl&xz1}`F3-Zo<^PTU0J-^ue z-J_#5`_Htz&`q@TRWArVu2Qo_fGH1j`rGv6m+2R2$24Php~56~d1}^x;R@+{F%Qyb zsaP`&#a%7Kpu`t7Q5TJ8X$K!`T56xqeKN1A(3jpw#=J*-+Yxim*qEnu0tYrf;WJ`= zBi^r4D-@UOWOHR(A$4q1et0T^Vk_0GRzBgz4Xyzpbu`8u>JYzXbXUqsgb;z{vC z^MEN=N{7X|bJFg}pq)8x$%gRgHx{khE6-i;)PZ<7fLI@zO;jIu&fY~0`4A-vUmPWo zlRAkPipgO~y>pJFL=`%*j_H8lu02MvOsQNHGf_jBFI1pj;mQ?w<;*%P`19MGc?qN> zODQw{zlQ3(QFHS(t+vamHcR^yO3pzR)ibxL_v=bMaaDNj(6Xg`nR3lzU!t@QUTSs#;j_q>uGHz3MbIoBbM&OwoGh)EYbY8g4oNQ+Uz)ll z=%(i0HLcC|mcK&Mzr0Y=P4JJ=0)?LX_Q;jT!#hl2~LMOzF0Lf5`5dZ`DR=u0xVKY4Jwx(I~(leccio4i?> zB^k~o*6LU|+09U!FG00oQM1Spot3OzB`*H8l65x=W9miGx)WVuh7X66ytIvyAlo;v zs$ej%(8;F|#x#O3n^&(WO#++WG(D~e*STr#H2e8HT8`Vis6EA}Y7#GN5piomH@hiR z^K_-$+%nUpk+c|9QRH(o&0#FAMJr4;^0GxkJ9dYgr~Gnd5hofRbaY^$4<~xm zeZPw_HZ^Z7esp*ohp{7A;Q1VFu}-48Xvh0uq8F*uES1z8FMU}eG5HPULo1_O$xwUx z$)oQ3;J^4`>99E<9TW^DU?LwnrDo4(!8pO54vTwuzk}`H+>5yz#-8JG8j!$-_M(BQ zBY8$p6Bd!46Vc!>qbA&9i4L6#WbR;~FneAyjhr&@U|0)~Sa;)q`9yHvLSWrMk^3u9 zqWv7t|j@SuE1X4!W&uoz%x{59AKR#5fJF^$=(m;X?=xY2wfSB z;L;+`4=M9iGF-$v;L{=Zkb0N!ir^SsugsC_hwRMZ7zBYfc}rb$@T&g}J-#T!_hf$*Ov;uyC%_MF(s z4!t}1jLu^H$jA4xF6S3;#pjli}k8{ zW@u7tc_j+8$|5B-*V@pE;C+DrVV$(C4JlS(N7%96r7W#vIkc8`byy*-EFbb(mMm%i zJl=bm@BjXM`Cd&oxe<#9Ub{N z1lgU8w+7pL%Ny-vvj4y8nE6Fc{k4pcWW1LyuS+h> zlW{tjjMKe$(`0kzT$r~yi}{2I-CN$Aag2Vbezdo|-TBGxAUWTi^a$m(ondFQlg^Xb zUb4Jto{Xl$&OAxm)6Tq4*q7I}^PlZ?i1f)~)=k>!Vry$~LH+*9)-0XVZ>}3@ByBzT z3kTy~a$#?I^>jAbNxCGf7v(&6I8CE>C)10w!FHcMS-=0@`yN#P`KH&eok`|LrqkE2 zof>yrYimb_!?m;Oqjc?TLZaMFdM!duOj1lB4&B#!L+jqwo4$#DI7@~}Cr$SHuW=aH zzioL-a-ln1^b$2OnyhBs@+u>0BLAl8#cickX*-=?91>ryGTho*-ln+M9*hmN`k!>~ zspYMT(cNJuP1__!5(iD-%FPM!Y0q9$PdnXnqyQ-qdYc11na;HmkdoLz2XjUHD>syapCkoe zdt9sZ+Q#um)^-an-J+4C{mE?Jo*S6EHcqbNkFV7q4=3BCLw68+I`cvIu=$kGwx(lJ z=^OMnTbbF=t!l-( zNh#-rHpy5EOPR;b=127Fh4~qoM1O60W6pyXLF_H>%Kv}uxc!tSqKLif$b!tC{KQqG z&Un!o?kRP?mi|sODxMpB*XHnh{kN0eUweeS$=bu6L2s|~$mI&;RvKq8-kK;Aa7pPu zzI?I6S%38YS^D*L#jnXbJUU3b$&idbnJiLG%yr3hv1tX>f7SAO{lBDuit7H^676g?UNnnKPrr?{|(FA^jDb`Yz>BbYRl`>q%-UGTZ;F4oyF$zMb@ka<87tdy@BS^ z2bZ^bKOapyvt;js%NKN})4emxYtm#sCkW-R?j~CsZ6-ZqNkmaHrw{Mw4kw*+?PSy$ z4BMSvZU;^?`#f}9?j+j6ruL| zFIe7mzB3yu7N!)2I-|Yit=9W4=7V8tOs554ci*|U$Gec#53 zCr_L`@w&s`dGGpz@BXgW?LD&gfxWYPB-~fbXM<6DYciRSC-a0*ZzVJ03^{aiF-o2{ zZ<8P?zUZMki-$OFskwkC^lPw9EO_aTz^9qMmIENyic>3l+SzCr(d zH0dprvMsMoGh0@EG5dRqCN)xacyn^0L(wNm51&18P!bjjj~P;)DCoK zi2#c9)44Kfl?SAUZ8W;oL6?2-;xc40j?xWhRuo(EnOv1o`0||QbljPeL!GzNE~N^K zp;omQ=f5U*Le8Y!>2`^Ab7IC#1u;q`NI~*%v%l;uvp9OYPfE)`Ft!^;et3CJXE-#{ zQP!9d`_PeJdus68|K$&!_PAnx`sY7*tRyY_^WPn58*%xdfAc#p|KcAlCAOO{?)}o! zOPRgqn>Ri9A+9}U8s>wIn|AmIM(XB+CvJLj3E5+Q{mw(raK*B}`a8EGrrTfs$@`YF z^vpL;{@dG^VFfVX{Ws}7nIz2*zWwS~7s_ORwD=skh(g`1e(GQT-W4zWA#4lg*VlaK zD?Foc`1gA+dhx^F?;O_s-W|98CR0O$@s3~oQ2#0Y*S~zt`<`5oY9!NyQo3<>K!!|8 z)&H2X`?X9{4+HJjdExR~;u4#}c^oDqOUR8+FYYbBwKnh;If=>aqK3ZC7^$J-&9zar z$-fWg?Y72Mh`D6Q8vBR)A6M)+U3(1crw&`6LH@zWU5|OZF*=v@5BEQzXggUSS>_23 z`{+KY&>gFd&Ukqb*Ya&mv1lDpO!{#DQw_<{hTxI&;r^!;t|PUHQr@_P>5B@}*Qh=` zt7yA)`tV#s0cbDfvF(!R! zVM>0NR%?+t*c&5|gYZQw5g9NWTFwwYyu5KnsdcBEEZ`zqeRkrI#%xME``&+>~=lvjxWs&0;@aXk0t%oHrGnz2#*@V7E_& zFIo`Lnz#R7msdVP3jwv(xMOWYWhSM9!ru4q>0;Z?Hqa&ld42i ze3=b47gS-=E5#QKdTN2ayjqu1=!f+87pj%N{@XRZ#kBaJO)7%Wf<^sivAlZT*)|md zJEz5F|D*lCGUY!_(ase_*3Jv)Kkwe#xk{1v>USkW3PZ`-e6p6OTCYvlD7n__bzKkm zdVgAxFgrJ>!CprHp;_+SNPkk2v~x54NrT^N{BmWtO#d@O=CxO>mK;A{L8cTbJtC!# z42gHGNa9l!B(9t`zuG5o*>w4&R~`MoTx>3u*9|A*ZFkk!|Lguo^-8Ay^p09b^gp(v zvi1JQcT_Ii|HO{UGW(z0QCVF7Q#&e4>VJAiWg`90?5OzO|Ll&6n*Go1sCd->{EqVT z{V(h&Z`prlNBOG$7k88==s&xoY^?v>j?&@&mv)qn^q=2Ra_B#`qi4IklJ?o{f|k~# z*KaO{!-Tft2Gn(stz+4Gk3PIsebJ`P^O5}7-FcS;ZAjWZxmzi-rKQ50Hh*WG?OA8q zm*Leg`4*b|nOS{C2!H2#VuMk|GrpuFmXfNbq8b}$i|nc8RYcZeHrVU`1TDG8UD_zt zi)FngHfv6oax>(q+Cy4QfMo{bF^zHOE%b-5Fu!}}sQk;FhXcQRH1IpU+Q0eOVx}q& z)G}f^LOe&nerqV65Y~Dt_!zb?Z#mR8#85AhA;vEJ{|1d`MjqB4*`i2t6oZB+Tw5{3 zY-vpUC!6b!Cuw&!(CsV!D#H7XA!e`kw4!8k!y(#(&xv62_~F{4GI{(^Qxt!f01rkG zHy%^oZa&x?3q+GX#CP_MD=Ganm8~c5_0QIDV$~xJ(>B*%ZaWiQ|Tc65U3# z_Aqrp`O@%zWrXpYwPzG1j2jQBCJ<_1SXa$hdrTI;QF~Y>i(hMs;^1U)<8ikv>qPf@MmICet=09S+Z07%nBQ$Av~O#k2etCtPs($QT&0%ek;hN1(Y|wk(j!&s zt<4hJf2B57{X6QxT@2^Gkei_}^8fE^b0|vw4;cC1zfRrpLoH_N23v_|a2oKcM<>+vpZQ0}qMa6VFL=fP80r4Q+Ov<6?x8~?B6&R{ z*)e9*{jJW6a6kWZwTWTU{OP7B%F?Xk@C+4x8OyNOgq`}hb_#O#d)a=YRxTX-OTRO7 z`lH$`j#8PMe3jwa@dvfXW!mw3O;H@2IIccD+1^%t=AJ?4KQ$t_`O1A+m0WX(4g~4J zE$50#)(y2sWX!*|DT;$*{xwewMsz@jTKPTh7e6-af1vhEqAcLrL-TBS#{YY356Sqy z-W0__@Sm#gSJ9~&+P3gZ?#t`%x##qtOD7|fd+youI=`;AKlfziWW(RpaK1Sq^cQ_F zk`C-#Nk>1Dy)#Dq@2ZVBO8jJfW}@8nJyCl^CjECbMNyW1gJAZr$?Y1}nazU+C<-dR zt!Y_9QK1?N8!rM^Twh0aA-JAr=T-UM(MM~`4=deArM;t_!rA|L?Xj4;{g_4(V)f2R z5+t>Jnls(L)q8E8@r{>7U+PDfSJP6G7DcMD^b9-g^Z`2Ad4ug%&JIoP{9_`yL;bv+ z3v@7s&ip=dC3UdUku!Cklsv%paI#5f>8|PzdUR%n{&u59kpJMC@q&&>&gjVCBbP0& zGuy9|@$ll_2Mv3Q$?lw^v6gRT(^2qhZuzp(eyFqhk zVVg!|E7|5pG!^@|#dO;#I=b3TQoZV(tK*raNR2))4Eo*L42rRzP-*3+>Te z#~WU0jQzDuWmI@WBcle!QrO!yt589i%Ev+)a`(=qR*{dnD#F5}6BytA*YwZ+slt&a zs*ndvM;R_R%J77-w*B)@F-<_O=(dYA1wMS)wc)lr$ zgA+ulm&X%D>32pL|El(!qJ&Y|=kx2e$7SO9)ut#8P8@zSk0%ZPS4J3rReMHJ!l>%= z`HR}aGFkjtQxpd$i&8I-CydhXj5J<#)umZM_)&RT+2`|hwZ~=RczIJ42PY1{na7ic z|0^SmleK3QX&T`^pJTO$WwLl%QxtV%vEp*NXz1|-QT*5lVW;*~qJ$9Y^VzOFBojbS zqX;jY_8~J`z0c2n#7tl>3BkJhQi4I%e6TaCI3s)=kqhQiDRDOC!3-;I1Pwt+wtTb17M{4o3&>j zCEaFyKEF|$7$(hMYl@;Q%{mUxQc)BMO|)r%qM%~GSL>w~9#4HrzcZS0!`1tg340x3 ze2@Fu+T${%xT-0NgA+&I$m0nj|EUqdy|w2NWvqerp7q)zGUngY6ve?Yzv$!fxL^F( zu>XnLGl^nn@wl*&be*oxlkKjl&}NM zJd4^RGFi`>qA1I{LFg)?pV=B{fTEyc-}h#M7p!<*Ao!(m41d2i+oN>l<%jGI!t0~_ zzL>mqng`0~YE!}V=NXM6v`P;3aI9E=xcN~%%QbsRPN{=~{noJlU(}v-6zgv}WLUnQ z-{EX|RrGHBZ?#8e?EYUW*}acP=1b*HPv=X&GpzoPwI>|K>MIWodiQZ{{&%%UW9S}_h%TE@~chw%7iRRmzqBua&JW5Y)Y+aN^ z!+&o?^WW8;Tcl{H4U7m1isoWfM@_#$HZPIt` z@Cze@->yCRC>gv6$$&@R|D*QkjP?JjlJ#Fp3xUh8-Iv@`Ed=i8?ES0N+4~nwQ54Sc z&y0ljZ6R=5z7Vjtt+Epg-~*%muihVV++HjNvKLEIE}d7^9-Jxv*EL0PaMHOYTMJ~u z@m&-DwUNxJ+B1vtOSk5$flM%5E+=ab&E#^dDT+FBS+Qo6=lj_u#fdK&@OvYgQSHe^ ziKbW&WMMnuve~IUHj~Y^MiGkD`xr3pRHvcowNAQ#a6D`C<^=dej~wXW#n zLFhl%CVRP}l%PLB)P2_qS%HuUu<th{Z@E<8UAXapTkza zf-e<+U@u{3sPEo+j<~b)y!y{is{j17`p?hOf06?`UcED<(_7~1keiLFJx$}+yB^;P zy>NO)=qowB@6l9*+D=wGwR#;{A4Nm`Xt`&6?k@~Oex)`;qHOPaWqTP3%=Eredr)S2 z|GX)RA^`5U6r5*o?5(bAh9iEWB!6Zk^q*_bG)h7*QTY;S$a)@*TH@Wae_ERaCa-_r z6ve^G>#l+m#2R|S8;VQ(%1G;F*VlD0QPO%bmzJTC=MFEfO#u_u9ZgXjoUm?wRBP{= zS_snZSFEwF^jjmGx7MCllyGik!r@YRbM2v-RKB?>in3H1#I7RznY^+Aih>H0^EW`D zsGz%IJ|4XUySa(W z&ZYYcW5<85_Eclox(p{Rd$k8;{QcpkC<@#8AtR!FtFFJU2!i(A;a0XG*UlayHi?6u z#ngZ^GWwP|7^{+XsI4o<|4Lg#PQo>!E(Ko)AXj7#S? zYm>mF^BYZ3l%>-!cp23 zL^6;}DSua6_%|}`Z>l|KY}!75moEdJIC~(T8~1~?iC~PsuPKVctXfS` z6#20c|4PPv^D0zOe*DR%%C};E>{K%7F+AE_g%$Umes0;*+7rc^_sIy$9@QR;DcFui z5n}GwMtc0A+Ea~TYejmztUV~>?+2TrC=B=mMnwCT9>1bUkBy4AbQuO#iYmS}xxi1= zo^zC}Udf%WOE34o&)24diSOB_C=O11jpF04*Pd6Dh(Jlth=>d4S8G$ig!9WyQIv(# zAhH#~(Rk1XC<-dJn@+@LzMl&D?|saC-QcLV({OOy&4c4DH(r{w_frwU@y6O?F$KF$ zqiD+9uR_{;xb~c}S^NB5BC|HzrpQ1_-5eFkK~5^i?t_<74I_E2#@ zEGFGsG>Wehf7zWyE>D;2x2DSRhT4 zY$lp{Qxpd$8g_e;Cm8lyBbJZWo>!DuBJMW&@!BIZq5N1=6bC1i{H$`_yN&+m+H;E% zOmUVuaJSJf)E=9O=I5KDI6%=*2W6wXjefuO+#*FoTPam{8~sl0v6*OoyD5sYXc{bz zi}kfhDjJ|DsCa$Ti4;_rOmZbEZd`>5TIGNKtCYuv??G~7$Ij2^3x#jI`O+*DJ|D4A zxV!dPOx0hlQGAsc4DU8_`MQK(n7I7*+LOmV#%J_0^7f;LYLCuXf4q|QUrURIbG0WN z#qP>QL%;U8jL}I`6on(*G_u;aMZ*gBAbqIz?4kq{cMsCC_TWr9A8d-^;H1MZI`W(p z|F!W@KUI5XQId(d2kH6RLo>NN+Z06|xvW^p%hwLl4Fl}niajHmU#~s6DA5#ahrkU3 zzgl~2CYxW@C_+(tA47+9#gS(d(np54F-cb(d2*6IGJ<+r?O8?|R3@mZ zdyw8zn*b)MZ)u9+;3O5e-^deI;5#F)UhTO?$}9FBq)u%Dn7sZ*Qxs)+H7G6=^$8OS z8=xqt*ze>X+;ik<3;4a!lD*m-j?$8-dysy(_Sj58eyAymvS=Dew@?tX%x-|9pyEi= zP+w4C>MSc!@v2p*pfcJQ8t02EX6dhfS2Co&S<8FjUYoAgAy!}V3xB?_yqdT;8_?a!@22~AuFZM8 z_kq0*yLD&huZY5qbHUCdS1zyacBV=Q1byZ9aI(4g!R1x`L9dsL>2Eg<#@*qfm*hXV zX1o|}CbOis_sC_->*j;`Fi9ul;l;fVT5fzLds=Myro-<{lUaJ0PHc`2_mbViIc>$? z*3;g(_36cVe=FTeHDB)fc5b9U-oJPE&duh3Z#941ZvME#{Bf85V|mrIGb7Kp*MFv-2OJZH zo(H^Q|2*Kg)bxPn=7iMofma$6Z#R`p;RB6i8kk67Wp7)B3bL{<2K8e9tSt6omft7M zGW`BX?U`b$`(lLE{YdSxnALqqqX=<#A4`Jn{VT2$0~fRWbnU6eu(jgk>EEwCDC6&Q zO;HrK^NbNuK*?7-4pHNR6;DVt;EZYf%i6q%lHp1hv;6P1X<{P&7fn$doQNBpPW`X7 z=M^QcIv2D2m)ayS>HI%UQIw_AApR90)VSFOC<-c;O($X#)n`Laejksg#$U|xr+E;4 z!)=#lUGi*15WTG9`l56bxanWiWT1OB8D(Y~d}6_>4eDRITOCJp{d?Kwxus`kY! z|GYLGOnm>WDT;#=U!(Z=r?ux5B_ec#gZ7&Ixc9%WO#u_mzio=5ESv_Btq6|BgEl}> zQ1N|DCt@?-FNOT~K4!jda130`a!Vc@*KfZxY44XJg5y24$6^ZhT8*M9bH55{@9Ele z#%AsFx6Z{Zr)pEcxPG!Jio&3dHAPXFwUPZwX8jGTP(eBG^G!8x#hf?lVwP9tM*aP@ zr-_yB`3R%_+qK7H>h<4h6ir$CRWRyL)t++dn5N%iA5^TywK8?}l);`z|+&i(l0e*vF*ijsAIeeuvEklZ=m)R+-aWOQe7UMgI{VD~ zxZJ<_*kY#krPt0T!=#gz-ezXMH4MJ(MSjY7X&6lRUvv#I>oZG?z5 zQxpd$h#QYhMpJ6}+Z+rB^NXIpS(bihgz+7<=M*K3n+{P=qC*H1$Gd8e%f#_SQxpd$ zjvF3I=JUaLd+p(5IQ6CB|H=sCduq=pN*FgD+BRgY_Z1mT7Jsw$uuK*gnxZ&3S(I+; z@w`;&cSahYs6D4BX$XgMi;(ej?Qxkn{>P>$4o)05oEoR|&Ty#vlS`)I{mKaApVXdF zlrV0j9!!S}W*Wa#dsrrmUu=q^jx1JOtX~7KS6mi9HbVHr+Ea-V!nKEz3!Twab>uPu z{F~ZCG6DRqMiE{!?Zdvv-8)xNR=m7zW1dXc?ps@5JGvMQd(?is=4(6pz_9!JJ5<(c z&|H0Dn5cGs57wmIH>l*>{q`kmlg*u^J6~I*D)!9#$y)Zbr04Yl-?;=7Yu!tfHs5zB zC7!I`x4x-3Lfy~nls&7-tsA=6HQnn(_j*P*(~D~~Z#sEHYc*+1FJ9ObMPZm%7zyoz z_86%@sFmk_Ql4YvDzzk!Jbr3zlu$pvQl;M7EKz3@cIo&BNqLr}i=nR~%VsEy{NGfY zLs9nrfRX?G>s^|Z7ISAhST~c>z3|zj^zZDXmk51?!+{`~Z z7G2zp>$!ww41kgDch#PKlync#UCpy(JtNsMW^)Whok-z+{@ZI4!=(9SQxs)s)^T{2 ziZ|y=Z4+%8peU%=@74N^TBmTxFa6GF%Ca_Rqcr6vUsJeJe6aSoOesEKP<-UZ%P30H zKlKB~!O7+7)06FOirBtE=RY;Fc)m7IqGWN+p`jhzvanc>JX?E2CWS9FMR9P4Q%xsQP+{`Nm8jVF%s>9}@n!f^UAb4YW;ojd} zdvwP7@2F(`*V01ZduvZPirs1{RSJ-aAz zgzhOXl>Za82WQfGx+#i-lMcU#+;dI**TygX)7mqOl8k&$c_Ej7QhR77mtSg%qK;fv ztQqC&fx7pU|8ecfMTw?Z4`g9G;U4V|Ymd!j^KUeYP^{j^fFWH$?%9O&k+F=MUc4_k zf7LzZg?(IKn*b(*Ynq}c?Bj(RMX08_T5q;+2e~IG;Tt2T`)kiJ%1kQmDKEryxc2x= zOs{W>;^4$2T|w^2N&3hL>dD%(j1tsc`GxZMp7KIc8?^~wl6t%;ii49>;Qnz>Sb^`1 zyxv=Tu95Nz-&0=5>wIkjn7rmqQIzG?pkPqc984%|fTEyczmt1#54oo;;P*yLzEGRP zQCd=z#sXQ&XKRnm6y#G)QIti~K)Qv3n8kGi6a^LUYMQYXRG8|@N>uE7Y3$bg*yP%@ z(>>SOE}gIgzc+gN`?Uofsi!$X>lr~-$qGmIJGIAVdivWMMdNIG#Wl?J8;ealyVAAP z-fs-2uYSqCB+fS+N*y8?kFTsfD&z6x8byf5`+Io#?la3meOq*G`gA^-(LL^Gmbd3h z)}mhIPItbbleOv>w-mpi6K#|Lv7hQYOY~1~D!yIJ2MRu6$EEMyX%Q24?p6P}U;XDn z^`AG=f06?`Nxk!b(*a&{1^mrMqrQ&DUu-t$rZ0S(k?l&p?XQdp?puAW#zndtwHXrS z%&u1^W-p=UHG#)#56Ud;(WWShIJe(YaPIrDr#sdRN4%!KrTm#u+4Hq$8YLlc@2YqP zWnP;ECa?E2MR9QQx~uSNB&TGULUD;-8EO4^?RiE?3tSauXynHAW3?$@!um*46bC1) zM)$b=LhX4)3FlU7@9!;!$$G9pTq-|bduS$=f6x>~St<=;R}ub9`q%(PL4`@}8=z2B zEH)R*o9B~mo1Twp(@{G8U=3Z((f^4@Ztj2dkt_O7KXQ5hV~@PH|M5qz?0JQu@ga*-wtl zw$=Y%-%Gkf`lWs2=xTa-YTOwmduMFxJ{@6I4~)EjZ|9DeUUr!x@`@d;3Ol#c|GPh) zUerP|KfZhUs@!p8xq2(@_7mk(+FA16|Kjp0n?8JCZ+U+;L~FyMIAYU(!tg?(KTRoL zUmmTGpk=CU?ToZNLU;q6DW4Cz=18N$`_=|{>C%QU(jyI!4hLz0HHEY`;Q@(Yuyrv^ zZWFv@zO)_-<9((}y`*mLR|$!wPnxj-ZPrbwtL%X(uhGG$ITs z4*4HFzX;2YW_*k}!;(q=*-SO=c6gapR9Z)-1G*6>^T21#arOSQjsw0g7Ay}1djx-N zXHFT<=3<^GXM2x;<23ocZ0r;b?n=$2835+PlO~nN|3+c_N41m8D5ygKg3Kx41bm%9 zKsL03C}N((uI%ep&Rj58_jwzaWjS!aleUxDjOuKRPp_^Zv(=w0W?;&JzI>msV@MAH&l(BV^GI36`I+cUSwo5aQz>g{b(>Ir34gI@=fox8n0Z|uh&#j zKkY11L~iAvvqW8Jr;Z@AsY-^KGhOj}oLrbwc$$;*r}`$=fouKt+PaayzbU^1&BUQy6$CTla(+yXbE~7SPx6@%H-%B69&K(LPvT9X7Q6`@9=zj50xX#5t5;Rb z^?)5O-~l`4aLv|Y+|?e8GG`}o^uD*suNA}tD4rZ|c>we-^`J8xyqCh*b4w56ma+!Z z7n$KZ@xo%GtnS!kJf_Rc$j6>AY2WAI=-9dDvFWxk|||Z6xb=VDdUJG#5k>7%X~s!UuLXIiNS2>PPncXix1A- z7=i1WABDJCn2}C8T}S}JhIv^7PmmSd=A^l_=#gVp)np=ZmV#AN+8s>HEtUWcHz=Y+ z)kcz;pp@KQ`w%U?m}+;)dvmHIfipMdYk;$uDW>eu+8QNks``N#vz$~#f>hQhD6W&E z70{W&k)bEOq$e;7N(q66_3ll`bRZgg-?!`zAS*1YcaGD=bUIN>Nnt)tfrhc73>}`5 zQ@5QE zNy~wn3$X-47YS0kPm&Fp#rtwT$IYOG2b1jN(00Zfy>pLI%BWW+g1leO6i?Y3)lHA8 zo9#W0aw~B@4eJ7r3@&I`65J)bu#qg~vBgD_s^o8$yk|l3sni1(5DS9yl$IfMv)XC8 zB~#}|Vme|vx%ywq(vfmM7rmup>)uXtit6-gb<*x&(5BV{%*9PPxP+oHLGV!KdI?xojUr20?oq%YH@d}m7LcdaAl z;vs*0Cq?r=YuS5>^jh|*Qj!#a$_lrNmJ*bsHl?u!i% z7*kOI^K%?j2GZ+U8K2Fp&s8iXwL4W1iCeub*U;%4-`>l zdokUfb=1nG>@0vo>-91kIJ2N{azCe#d~w`u_vw!8AsEg{77MyhWl<%4V)CRe%#wSg zHP1t{$zlpQcMK_g44T660ZVwSF;-hnR)(6U?QKOj)DY+qPg6sTucSa%pq2`dVTS?j zJ%kB44XA%2l0dHEtRxGCkPyk1?<~MWXt+XuE0Q@MKhgt0YdS+E1MC2xHMyU+It!{{ z+ov+P@j~D4!A~j2SN5+OFo4E`Y^~R`2sp1`lyttXpw_9o7cz3e1tMW!e{wKWXGP8= zbBZSCpp$^U2EtLBTaT7hX?t@x>7E08f?6t|3Mji%vn)7((QH%2^1Rv^C_8K@bBqJ0 zurTeA5m22$l`YF;)R@XRnU6Z@IgX>oRMOqSlp}CFHZ^v zf)*Z$6};H>XU?w3?kufaSp8n*paOwNNKiDkVn=LpRLvbLddc<7@^M0=1A`q}CyT z5dwfqOgn-&p%5?KumQONEya$gx|S*V9NB)!vXO;mm!jE)$2*vzJ1 zfpkkb`=iR&`|1T{oPXQu>~;o2)dImi2b4eond%+6GABTF#>62_T1$67@u9*{wp-k@ z8klC}#2JXt2sq;c&Jv2^y6(+q2NsJCs6KbVbQuWJfziEli>Yd262=UZYZ+wr z!pk#tb_TdGTIoWseE2MZT@)0bwSB0rhj%tG_&5fjVu{HO{wSTNUre9S)j&mJp*Nf% z?zh2;2Txu+&`muir5U;eiQ+tGjfVgyZ`^qvT@25e$o}@prawDweBQ^w>2X!_VK-^m zw#^sN?09tX;qBoKwUxlNhI@P;I2qFQoD{4vG+$@<&?+`{fWH9(ae3Q@V-FvBd?Vi$DEtA(f2>1Y8^dG6$vAwYU*6w>En<3DIih%qkcV%~3?ep}8MWQPuHw{o+Z*F3!G z%3E!GkIMoc>(ExgU|wpRLT*wMnte{3)rDKV_tF-&8+da-Y0wNyN|iloSqGjL*V4EDD$<;7rJ}WKibsBgw;EC0D9vqiP(q z`X7Paz6jvSyfbV=>lOWFZZwPWfch>(fmXA@Lts=@&@Yrz`z(!8^dlghtwck+GVM%Y zz{{af4{!<-L*d$o4jK)wZf4$TGNvnz{CJHrXET=mxJ6rQbhAS_dlJJQ9e1K3s8pkI za6q)2cZW;H-PuKbHmcpFKnQn|vnMY8c(qWdFUE}zt_#*Tc?@ow* zb+5+e{9zbe)A1ZADkB#~;C7G*KowjJco%+plPJ1$2F*D`0nroiT2C3s1FXeAffg zy&$yPNwt4&;o-q>k6)Ot3Z^+|?YLWK%1#&mmzZUj|= z1o2N?qL`5j`16z|pa5E7e;Q0uATchQ!5!F@Bw+A_Rj5J&1_jh1G2wM5L6G4oh-1}S^z_~E48%(J+vK0HpO|o zGf*eL;1=RhUN{N?=j+6&!P$nLP{6VTq-xj3mklUO2VgyVU?wlqV)m>;%mJ-3mKFq? z^~|HN{5FxzAxuFggB1=Yj`R2~Kn<^|@e@H+g)tGrE?c?!gLFk#u}~KcNa3AtGfm)Q zRKSU}f!)=~^rDd$v?XB6Wq?+XmMFXOjxMt0(wMERWDC_DX+;@9V0@5rI#b}96sA}2 z$%glnK>}79kOV7jCj(&JXYF>+LP>$>DFFtzZ9)De;=v0jkOKe=obezC32?3I{$pSv z8kvnBkcA-o1~7WBTs*K2381q5)XnNXk{Bh6@?&kD}pqblBDhPq_Ij;(cVkY7~6bygC1c3m^{Z&ENQ0XbLBm#tnB zc!7b>SBm03Og<>IDRH_XcP0|hl4EUL7KOK~K0S#_C*lF5}(V$+dAKp8sVx+MiH zqev~EphRNn2rL9dWy)@odCfh0rJA%3YFpBb($|C5%|hrI0LPskj;p6ljbU zGnR3Ui)WFMyFpppBF8mIbO7es(4z}=nGqDd6gM{jWNTC7vA407%|J?ZAtrr~G~Ihh z?|?CTszs8jlus74fr_>|q+GB>5|@zZ&wQ?E@${sg3{h_pl7)Q+jd4SC4gd>nCELoR zzqKz#=_hqb=Sam}Rnnqef(}N%+Q@SM05k>cM`F8D!_wlY$> z-~~)sG7cH7xz&W5nG`VqrcA4fy@(nt(?+suiid9U%_)-BxB^94<=RCGW23a8oETcZJV zSNMPxJOvTJY8E9p7EUr>U>m4nT?Gi{i5CP4?OOgmYcDKiOA=kJ3h_09OJWA&q$@yOB(Ld@D~K83$~%dldAo)4|0u?@Tc;>U>sq zP}yJUgMhDR)}>aj$%qccru5`t(pFF0>r-ABi!^ReJVFATq#oBmq{7Py5>E^iK5f8{ z*cqOPjc*c5NLcDQB|6X>!xG-|V}>Oh^j;Y^8h&My{eCzBedWOKDE67oCEf`L5)S|K zR<}b(S;?-3La`2ns4@og&JH@~0{n6bxR>m5mhdH-W=SzgTAu8-=~W=mH4Rn+${Wq$iQiqpmAZS8V*xi&0Pi89uCIfQeoh!OT^M?^xi_fNm(wzR_jIDO$YiaH#&HN zI{vEptT8Bq20@0`*FKvnuVot&pclI{=bPZl$f>4H^}$8j-y zRf&ouG*ov4&`ri_zmLiwV02K)^hUR7U!MJ{b2{p_8!oOYK2*ihD(w$N(kfQuVIver zg>)d-w;YKWMZwa~V`h#)ilNa6qzEeH0(=gE_$h=E2M3OxRhEZiXC)MjoS>5Lb2>I| zRt=A%W)+L1m|11(V#KV7M10Ltp-K8wDjoRl&IaavXBOToNVN#Sx<$z5Gxf;;u^;Ab zCpsneft93{N2^Yag#;^vPBP5~s3aqekKE$3>y_LLd&PhSMw`JxtMYR zZPBgx3wp9abeo`->Ke15C=+*vE#SZ^B8kO^omfToW?(n5;q3FylACp>k*%lfL2*)w?b2uHWy-t44w;|?g|Ke8HL zvu~>QOX*Gw&h(?JVaF-cTWcdtEfWUg9%Mp&=DHZ=qriM|TO~9dSZ8fo=z`K6KN(ep zPMz|l8P5~CXbA2|9k0zxjWV0Qq*cdOLMv$#Piy4)b8F^H4FhdDC4l|%K*Ip2&u%nr z?>-k#H*c>h1*9mgZ`m;yZ9Ko$N!ojg>Fba_rXOqeU8UoyAagX$RCbG#K5o zD7+oR6YYXT3q`yTykv+elx(JS(u+H(5RkYA1tBcwi85m83d#^uO(>;ew+XFx^HlK~FUDjXN7}AKToa{LEKLUP1IewkI~hW^@&x7}U8GP7XF_ z$uWAJew+*+rzvs6;h7JDX>AQ=BXyA~*Oy2H{mo7rGnKF8AqDz*L_R$Cf)IMF2Zv1z zkrSA92h{t6+HrVQ0Fpp<0DFHT=bug!l>f&<;}#5_(_zxj59X9Moj(s!CT@%n1;MTY zJO#jUQ%7xoJeDDv4P=Y90O2vYYHK?^NJ~C}ADt}^tYFC6$ZXqPW4Bs!K|tYg$i=l` z9tQDU65p5xAVqUO2^{e~tnYSU`D(ea#b)54s1erM41+zAi|4>A_=pp>-MI3|7*A79 z&JxO@=vqx*0K6~op=5sK@l!}i`4Z3lwv|1aB38yZmpu4<10j1$8mJhLL<)sD&VBUa zspD{I$~Rabkkenzy*e+>xH!&qM)-JgcxVT#C13c%wYwPl#MaiJOP98GFT$DgW`Y1{ zaQ-|`E-)co;Ym&T`)oMQYb<2-Y_S;$PL+ESH6R13c%Y8^VT|QmLYFK{ewddU2}$Mc zXna2tLq*&y1{vrRkVTN9t&5lc*!T*_AD#;j3jXM1GEe8T&eYUCk;3o>0yR8>%kCT$ zT7#h?U_^TLfOm9xOc2RYSb(d7rjO|mJtkzPy{PP%ZK6laV3!tW$G$kmzxGmM0H4;mLz->a0>HwT73R@HfN~ezGp%v}I>@mAdvdN#S1m z+P0Y^&K*m|2(@jKMlf5sVam@mV2Q>XOL!=VWIJ!F1{I%ETBi?yTX;VNE}I}0o|J{` z)2Be^W|TbK6t!g-;fuzJG`P6^D6?JNqIESl4kAf_Ph4;*5}qn(uYsLoI_ zrIvA=0Nzkv5Y1ub)jrJ5?L<@`0ba<3D0iV+TN7%><}MMY99$|2>ogSukpqr#;l zA5}98Bt5a<6p7Jss;W7|6VPxO;*e~Caz#^P*ChSP;)MdFXng;&P&5Xb)6tny-_=Y# z*UH7f_Zed_is+66oTf~mMJHJ1(ONju$<|z_U16mBSg4w}ll&`I6)R9|na<~}uKpj+ zU~HY{5nro2M|z{d7>Sz~-V~7%Y$0!jk5d9&t8R{x=M7yegRvWc5(}WMY9xM~02`^$ zvr3?WeMnyZCQbr8+|fak6Cg{SFM>YHa!`&lyHdi}Kj>~X6)sGG0lWa7F~B0=Glw-% zcTDZzdwLgFaCLB0w=ftvY8iyAZ8W6?9QJ8YX&H)M(pyaFe7f)u6m<3s$!I_{jJNFz z4#3&N+7UxD@6*e>`AgV@kXtX*0FFp*jD%%kyUVI{V1YFcY5@Y1`=_AuETM>01OSzd z3z!e5ocSEt>A`X*0&C^TtmOJ&o{^y{a#P>fq3Us1bePuF_eU=D_M8 zgp)H_s5KY|nQ`QnA$hC<1zZ(D%V#hx+AJiqO@&Sn=(JoU8NEe%!1r}av?>rOm4)V^ z##8zsN(mM*0hBBw=ur>`NkTBS0SHjT2P|5Ou&n{HLkOq52gmYWGB4;AvY|~HCW#8B z5vr%tn3TP_&*1QF`rA+vD?qk}gi+l|OplI>mjS{A_Vi#hP#FZ*P-q$M=h>c@Igg=k zkl-;0I!1^@?Oe2n$#|Q(QZFScl-FX`I-H=(m51lDN0xRbo2fdO+*W%dm^N6V_NECD z+6{0xUAXJvp)`*g<czw3_$AO z3drMIeu;5gKbjF#Iv7|5Yyp;43$q}q(hwenj=|O59GTHupKGR7J3#E|YW(K3yve51 zHXUjmQCGIxRHIBK#kNxISLkdfJ#P?{OKl{`4e)j$iUXc-^Q%ZJg%Xd;lL=JeYFyd% z)K;9{Kx~BU4EJRhuty&*CmLs zz~o>D2Esv8lBZT53(}H!EL0p2*<2qBq6Mboh%c2U)eIA&39ca#P3p1`>^5qmKvcwf z#%Nay3yNS`2BH5P8lGjWJMcV!*QXh<7`U`OO*c-AZSSbG%z|w$7_g;ouo%-d9lD?= ztn=V9`AjlDKbf5~%P+LKQg=;>wEcYuipm+^UQ-GA0=}-V13t#d<0boEg zdS1=K^(0sqQTW^vw7=?wmH#q`JavBJg;F{PoX;87G)fR=JfUI@n@P{ir;?V#pyYku z+MG=~y)JDbcZbvt3vR=Lg*qRHZdF2ea$%wD&N?GQF;GjaP$dv)vlxq{0FD)j578Q{ z{}&AZl_=YJY&Ia5p(N{T94xpNAIrK1cV!&FSzc7}`v#x@3OMAGphqc#v?h9nya)pe zKL#2N7GQ|^T(ble&!L(;P8U4V_QYdUK+*dqXhfL$W5Cwb;A>AZgnYixhn%IW6y^y< z6H%RhPz(wn-RjVWk2-}h8LE5GE3nrk*narCE(9#pz?2nL zbpAfrl>iG?m2_5iDZsj7CEAFt1-N>yMl5$RV3%-_`ZGt$wWuZrE?sO242Uv-O*+*> z#_*oSV1^D5LofW~V5V*@dQ#UjkEz?t5DhR2NT8%y@KQ855i>BIG^FLTe!`2{k?$a3 zb+Q_X@IDPUN4P!0@Sk3ckI-^|dpuHJ2kz#><0x^6qKSnmV&xcI#omn^TofKisw#w= zCsQ~vnkxM_TyhC?MR;u(P$hIVeYHWOd^I+DShD3nAw3D$h8>ry2zJlfr8_X$ zsHq~K8zm@F&L)fLvEgK#m?=D(j5f_}S4F}K%mYHT(pfj_VnF5rN>LckuKXe!sI@2@ z*~5ZytAKlxSVZ!DR$!KF0 z$QVEpgr-z7D{K=LhMfrwYd9zyAVRE|Bz=$MtA{1>m^`8;Z!1Bpjhs=A12Yw@J0K;3 z1Bf(cbD$GHy%4GOe)|c$LJE{c(Od#S3Z!!Z461FdjoJDNmb9PRIJR-hZfyF&j(3f^ z-{#$uNC&t{Ku~NFJji;$!8pm|lLu>#ZXk+zA_DA(5Nc3Gju^zC8*t$2h>&w+g>V# zMnFpK~Z<_Z9x4HS4g4-CK)_p1WS!23A zpkpuFC^9&{Pk1W(u%%mNxfKEJD?sM+*BZn(Y4>=m32LKZ50S_d_1g!wv zCKuqWcp83cygNCUY@9qY9l(+la8eASMHc|{C%{~Q;&R|=hjzjfI&Kc=eF>MnJtpGE zD!!4I9dBr*$vB0Nd+{ALb~?cygu7e@5W1C`bCQFbtQ>HXXCoZgW~&vKSo0>C3QQH( zR`b$H1wMQ+0}n_XO?H#AbTu_sH-v+(z>zME<`In}(04kAu8HQ!nt&vmj&w0J&+5a7 zq^qEL!-l#>lFH|*c z0ALCrl&g>jRP%yCjJrR7TD(dIY~CALS5WPcz<=?4)C@SM`w3Jl58S+w#w-CzZ7e)W z6k|S4OM|5Mqz<`I@{7Bd60_Ct2woDJq(dSeBfmf<0qk1~17PHm1ZEimwuMh1Qy#$! z{suU^Ji=m`1eY6DmY5ly09rz__Gyu%#48~pRh9DLi8a8*CBw5*0Zf*OVA#WyE zJqXFd_@;;^*oVy;z35grG8}#Q4hRs0J*AZxm0An|90J>m>o%dKFZoF`Jqr$Iuj!=T z4%OnJ!Z#p-XT%&E7ro$XJQ@^~cT*@B9kal_WfOW@kW~@)0hoW$CLjQ-(@{ExY0U8L zbO;k|lJiY5#Wn=T&UErHiMin3xdLgxTmWEs2a!Hy8O;TY>7?oq!m5Z33c+iDVGBFst8UFDZ<$5@|Wx!1Y9s<4bZp9l;EU} zbF6wL41Cf!I|5)*Si{MxMzA67Ui0dXmV5s2q2-aes0SzxC}r z!AZ6|S&bu^&0z6>7aVf3p?wBqYQGmb1nLxIS^8NL>`k!-dH~eN+H0FWP*kMCLiI7I z^MV=!5Gods4{x$bnFh?^3UDpbotO!ZqwCsz#tr2ybW%w&%D=1*%}0F zm3C~Aa$`lo=){E=jt*rcTubqC3&EA90vL*w)h(_=kz(TnU;$a;P?1-ou^fegv+{Qa zRJ? z5s~5Iev)tUE0a`#dp>iU|xFjL4V>X#jx|89Fac?>y^~x+>=~uCh zcMOKY#|79HT_UKF(oq(Jm5dc=1$G<&E7uNO$P_?1J%AXjqS>)Es3bVMFM;Go-N2Z* zM7Cj`--AP9miZ7ABlP=yU_k62vtBPOdmJLlFm#TJ&Mx)o-~x*8*q9j(6WSpLK|FR) z$SXlSK1fbC;1;%+^1%_zHEb~wEIeZbC=$e9I?n^Sfh`6Qq>PQz1Bel{m!2V#Dr*8m zJ&2YnG`7_hWIV+2ZUPnJo}ls*oHEXcoX=a-NPt?Xv9i5$J{VGy0}dEi*-9X-MTUaU zjh}2#bF*i2Y(9WhjUR84AzRt@MX0X?s|qFsAOwP22_ro>!r8^o%GH=OVFX0t#Soh| z4@S6Z4*|>U0%Tx+Yq6Qi^-VQ6G5O#8iD$X68!%MI&;g*01zC6)M&tdh6;EM}f z=F6NAH|C2)+=wp@Y)cUV^d)HE#L~>OL28NtR3XblDxG--sS~$NV zd=^Pgqx7+XX$iKeyFaM?Cp$fxX@VlAScVDmmw=^;3%^G|$4(KA)dBr`)yqRfwoOqF z<@z}DHJk@Cw7WeXUcfiOs{)$2N(lNcz(x`zgxNYssR3c$-lEPZ&|D~Z3yogaOpab8 zW~#0#xZ@?LtPGx=9RRF<7)QzguB-{I(i-r((CA8emRzp52rWZrk|ljcSwHSZ^3Zwi z2QvOtHM0;9{*aNyr)@Q!Hr6Sh8ydhjxzZ7T(ZYSA?a5J930#gu-lkaxx3W z9K0`S$mXzFz=74i69E$isG{Rdh)DpikcJDXu4XmBLJCGb(7C{Qeu=AkfN@;vp^VTY z#gRR5Sh$pDDS(O|q&ZV^a+A8BoliMrt6A2&3n-N1#t*8bobfb>2)-VFi;00v} zs#FGBsRAL#m-8c6At1q!M=vA5Cz*u0lg|W8g7TT@kpHVfc8h$ruq4k04QnmGC&J#v zsP;q37hC`pHy1aWk994D>uD8~I^f5lK%Y$Mu3`mKtm}aOmA-GOL-&&f7z;4Lz0}Ab z2*}6%xJ5Vq@Y#T#1`jA#OAgA3d(^(9t!ryOaa@JHkEycK>CyGfbfTr#nNb;@4_Ad@ zsJgy`7{B5-b!FMA*rMdO8eOM|n3 zhXja7@*UifLU4PsRw9BsQiw&J7{hLm@BNez@E}|{aqY%zFywsWKG2Nl_PpCbqJRsx z!PkQ#VDOF<9*ku?o1N~t#k6gufa*WM2(=}E>9nv2xI0Aja5+efw2j*Kg;TH>z(b!I z5CAG`r1}?^q9hE6BVdk_Fc6-ueH6*Ou!Mvm85P1drMuqf9(z!Xk_6&o;R4~SA&;*o z7sKHb{aHe71H&HF@OQF&q7p$%HNn!^<-i`oo#BvvPabY`?F6q z7>E4Wc5;8aqu=?RXVc({@s6grA82n5C*5=H9JhKgtP3x1uTbC;qq(4X(LBUw?amBs zTO`6Uv{i*s|Sfx;4}4^Z*8Njznd4~%?(Wl;07WL@OZ-+@Bu^%?a~@>gLtqZy4T_`u!FG2>?J(WWa6ia@LoE6AT(@=&bkAGcTr-sgP=Pf~EH}rU zdxnZZnpiFkqMbqo>UyCk=Z!`kOFr*gGV0^?&%@x(i+nPqz2rUWZagW2LKL+s@3rH_ zz5tbGS2WlPDJ7{T>Xb12Y@cr`Kti+>eLA>P;f-_#SKjsR4-HnuI;GD)m+tbBl*0iG zq{6(cSE76Tt`P z>LTUd?$}yaavp-ACBbJs&d{!<1z-s%Z;a;ZDHT%+41B)Q!rzAp3@XmmHVnhLN{MsU z+H8U9xG$+5!%$Y;$SG++8Bx$(iK584QbQCTOx}6TGf!tl$vZ2crYmj2-pJAh;OwSd0|Z3baC|g4k#2$OLdF}7sw&A=bO4Qu zsotEZXM9ARl^jjIIi{2n{d*A)OFSwp zO5<>;t(x%T3{uS`5`S!JB)PH5VYnOm?xq~kUI`Ig$s{RPVbnucCDphj=wKCIS_g{A zdin;C_GC8gcj#^2EENV$ur{3`WTMX~+dvjzu@B>oXx5!dXktwMc&r9xw3U(KlOa-Z zM-J>C{p*|K%0{C7zWlF(K%N> zY*;;=VO!G<6*}5NTZb58wE!5J9zBXYruUaPJyI6V=d){+25sX=OF$P17pt_DX`mqY zr3JeOBJP2Oy=i81b|VxTL?nhlnif{OjE472fDOeB9=f1DY=zn20YUSA6W1%obbYFP1z)+eNw4o!5^|w(?c0WKue?@%@PWzCXq7;=}9Dt z-OM8ZWepoQiH`e&uxVJ37MydX(4DvdhVur6*3QEWqLUo&cbMmfm#vOH<&%V1!=(;VuD<9GPeVP}?u3x3Y%`+PIFIdphjw zqJ}@7t^gVqQ$h4RRRqu%==SS&zmxV!0clqrRCIXI_tEsmseY|PZ|0*59(ge02+YOg zT>3nM`>cao=d@NahF&Ow9T-(`QqN|UJkyIKlErM$ zZR?TSv&9gZah3n1hQkg8g4tp`rfU!QwD}s#XBb%Jb0j>W@{l~Pp2X1cr-+t3D*_;L z%&f3`GopIF0z^)}wTOn+@iP$oc>O`dQV{}c&=UxR75RYWh@O=c4(p&0f?|b3_o#rO zk=NTqwpIto8WWPjB(Kkl^fV2YmMN97j<2y1DGH4g@hW1zB}9sQaV9H9zc^tyVT}8k zIOT9qgd$-aGo*M}k^Na#!l)R>$FUR}qrq{6tOyvEa5+xKu}zAWanMrCjFW$4 zRq>Ob+(bqh6-C7*e0~k4vWOytiZL+%UXGul917UY*`(9!(#nb3p{PRzv}1%EUd)*s z_*(g70f%=?BBrYVg{|HQMvK-e`iX*MN!!IFxB$i1KJ)VwRwoO0cZY>~1us~P?@8HzfY_D)%Adb;D^fXF3>C$tE)VIH-mi?-mAMNXag-Z$Cq`8y~ z$w)v2R3izLzX78aNEbC`ycDuQeLLVz5m>E4yfxUICG9TlQ;!pB7w^or6M8X3J!7gn zRXHAkz)=kX>03acFdOV~LE%@;MqRKA#R)7$eLo#`=3A55NVpANm}^>NuJkRKEAUB* zoOH4^*N2wqY?L|`#knsq3BO+~j8byWpmGbWn8?%Sp1sQ9n>{E!l>ubgfcVFNsgumM zUHiwwfa@UG4LSs$oEmTG)p_9(FhBB-v)5iY*Fgco9fj^>g~elR{(8K)O(1piwDY;l zLJ%EGp!FG;at2~aDGK$+t!`T%*C1=+Jj5!(Vc}7FtdI`y6qE<6s2#09Z3YXe1?vba z4Z|kN=G5Y;t?!(DZ)dK~KicymoNrB#*)~v)Ott_^8PN&-XB980%~PEqYb5y$7V;7# zxE?Rn?F;F=GXjr(S81F*Of#CGTLZoh##XIy`aXEY+rqPe6-P#;{#sjZw4;4jht5un zx1X52o$h`22LeSJ8ps1^Q81@hMN;9>7OVm#3@E^XRT&?8GMbV;Zw|p$8dxMTcy(eiK_;{9&Uj!V36zZK<+I^i0~mTr1VC%y1>^vN*o50hL92~qj5ezI z^27%m!Nz>9mp&B5MR*q!_X|FpXxdz%*}E&gNVywh0Mt*GKl$1|mjLtQl~jO)BHs3x z7WLu^kVj60MZIu9YvCRWV1RAL10Ts>tikK_7(f`iV%RsWiUL5d8QB%<;Ft-(KoTRm z>P0ViI#zTlxAGN^Cn?USs`yi(CEWYE@URNQ-Dn8}tp9mZ;=u&6s4#(0i^2rrVoVqY zhghESxRaVz=_yY-Jn(R(Cd?M7o8c+qx=mQUsx>)0CJrhh%wyDtlV=3QS_Fhq!}|RD z*2IPM3o1NMvQj9Ztt5E}212m?Fh_cwscn%f2<1z=$NkUc{UxAkCD7mo5kEpu9@zm8 zZSwNWiy=ZAP1Q56vEfr5(N-6@ct8X!F|BGhlGj5Yw`S>kVGu9ucNL3MkO$>}(?wgI zD*?S#fSnnXP6tMbTI093H#tuN18Pv5*7B~6j1NUcnbt8|gYCAMO98VkJ=*5;l-KXe zZ>rH_YWfO9bE{U5uGc~v8$kC<fRk34Svt&&6Bu43?5P%gZekE3T33!ZX;VF+7v3b2? zvf)dgmmTSo)+W6dLvI>QreInj2vr>AK9BF6sWH^8Y`;$R2_$?b>Z$S(w$ z`MmUVI35oHChUm$Vo?B<=fSHI3dL?hXYj>GQSh*37{_aHt>&p%X;|*-xFH)5a388~ zrTiic5wKN#Eh~4`2wOb)wzwu=sw$BW0P~`oe37X{zK@NQUje5|QZPXByu+}|j_1JT z#80J~AGVa;#KXl&mvl|28z^*Z!V{~Z#`y>L zPkg0e*sf|=SY;#waUtS27QNB9O7j)90eI3}=VCkjpc3%=VFIA}b4uAJI7(jMCWr(Q z!!W}8VI=!2qvV{Ce1x$O$KCibg4b>>SJ*WLR)Y{DaAvfdxMOpQdCP!1bQ*8o?~vqR z4wQ!wWowgCUe4{}=*nXNe~D7iG?{C6dAvx#ie(QHatXjVXFdUxgO)+*^0LK@nmla1 z+E3SzotF`$b6Wa>-NHy%*jj-+QZ{Z1xr7p?GK3hzg2O?_5**G#h{J_Allj}0j+k7e zA@zYPy9!E`iOSE9@=6eOhb436=AjgjEAzi^&E{JJp{Fr08WaL@L3XrE1e=S&5Zp~4 z0V(jG7m{<1#5K;9K9_kfXo=#z8L36-RK8^O?KU_+E%KSrwFpP0-rKnivy{I&76IkOBumO&Q>p!8lYYFp*|CYJEhuoBtg#LMuu8=IRn%5PMgTtr2V z7mgJ10%#WZP&9{z3lQ;$4(2}@4%O1~iAm{tV(^Ft$OnSZ!OPH&@OT|Y=HGY>OUa-L z6UK=*AVDe-Mw8Or1#Nnac}8d1^$VJyS_X7qLdxX^)>0(>oyYQWjvl3uXGebsFB0zZFCM2#hh8W!m@s{DUSMWk1g$$&O zD6pIWaR+dkt1(#12ynE&mvqljp_A)J4J4`M1xFI6D?0dQNFYP`PUcxknRv%LudZj` zQBfXdJ)kyZF}Jppv9n|EClf$49IUP0MdwW61^S#w*bu_I^4#x1y9&q|GvX#w)xHkg z0a#IGFs3i9y_gN#ogvuI1+f}{TEETN5eGh;Y;O%vn-^D&?4oitRIy~_>zVAk*48Yc zFdW(GmqSt8cAFM?s40|dM-DZlBed%N4IRJG%a7bGa#*!dq!7<pVX8*Owdv4#Yfv z&jIvq3>YK8%~_&EO*t{AjAvB&K#C>GTxc0YohQ3-ce3QrDfzJ;U5Nsn2T!5_oIQQy zTX_glabFc~ao=+Qaz1Hqs(mF@O9hhlp0V7#rJMAE@n`; z`-bQKIh+Y9?M!k&3OvVhfMEkWF!E$>_w3BwiLiWv3>AW98;4wez^$>7dHxJSFocrF zMY=W*OcirTx1?oNJJX=Xr-+m-ABxWnbHt9M6LD!Eq-^u!$ySG|rPPrUFG2bW67(X~&mW@lAe2xJ z&S!@bn7R61)IxE34uoC8fMpUCL}|PLcc7ChgQrA(d-s8MGVah3X+Q*2%QBV#lSP#< zEZ|&*E=CRb#H=H8`WV{-Af*LRSw7QFc2$L)&h<{I#34=obX}}EQ&203$#7S_!y86l zn`nc+0xMWCV^%0UM60@-hj;<(3oW%uOy%+e$y$FgSNDoS4*PXFq!PbmU`8kqXup- zhnOxl;el6R#W{?4o&=OFoho`U1(1B&?}D2vfTj#gF8PBDKL?s6bP`0busPF!GtJ

a|GAn3wOMxzDwYJ-~+ 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

5% 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�K)sdxu6-UGk; z%`^$&%Xm6JGGts<1GnlNoHr3zk>Qm$mANW_$zznYe5)0KYZV*$l7WED44@$2nRxY^ zS$I;uoL$K#oJ}5ycBXiE;ifVNI&*|;opM#_&Xtehr8^J!K)UlK_yRllp2GxZOvq`< zEX0pMx{L6;-|QtpeCh7Zj|}OKtI?yL<}`JFvV1ee%k)va`|vFaoEm{mS=jMO&xvoS z&Az}w!i(|hH~ZlkXz*at{mCfN&U6ni<4h4R5w-^?+XlF5p@B=~Yj_zS2z(&pWfJ}% zKfDA#c$nafirHO`cOc?J@VnovkPr}YiqWs+SC)*i!m4fa_WuPLGkuKoP`=ejxWda8 z@nJwh#D}Z>uV?(el^9HW1Q{jTneb1N@lbt1n(6eSjI43JtMRYW_*LIm%g5ld2>OR> zhz|;5Ek5Arw8I}cOn4V?%H=4$gTiQ-j0JuD=4d|PnGFC!?8oBOZ;r#0QnyKPB$+8gj1TG~N(aHB9eL7AxN8s%fK z=z^@D2z=1#a&j&sb<^>Y`LY2QS zj*Er~�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 T68brf3$!Mav>mv>sh$20KFAD( diff --git a/_build/doctrees-readthedocs/examples/README.doctree b/_build/doctrees-readthedocs/examples/README.doctree new file mode 100644 index 0000000000000000000000000000000000000000..894b9d95653e4de7c70b90be45942c31f980958f GIT binary patch literal 3390 zcmb_eNpBoQ6t-i}*yCmF7|emhVo($jCyWOP4iN!Ff)fd>SO_N^kfKU;cghBgNAENzUiol4hY1GHv*Ii?{jGll%rQ zTSl0eOb6fl#dXQZ(a}sNH%f0a*RIXSGO2J;SFkj76ZRI^QcX+;;!z%^1i5 zyzB!(eg&}c9fac}{65C-8h+OS3IBxO;y3s%zj?4&LsHnj8rV2yhQtDH)#)>t4jq3( zgkj0VwY&55Ax-Is_3nnDw5id(uabg5XhrZiUGs1IG>-c<^_!=Jl+J!yW-3(eR|(WX z{20;!IXhuUdAsd4W)$XQ_uKI3;3D_kVv!B6%W!Szv`Xae`a79l0Qo)CJ-A5SB--A# zdv9a@7EE9JEG(OFw zEIijP>nnHj{lc6(RTcWYC>oOu#;@H@(~GL^Q#7Kwhvc-b>j}nQ*`|8vSWUA5<3!S$Gr)4Gu%@txk^LR|}X zsq@@z4W%@xG;HGXVBW3!F_+qeoDHQ)a!|S&112M(O#Hai5P7Afu$UDTaw-fb^}K<` z>OnPt;Jjj)ROpxNgvA&DZiUmhIkwzob|!$8p~mW(spVP`3+xE$x~Ej7zzQ6S(FBx^ zQ8Z-Usr&8Ndfb>ye>oVOo}TWN z^}Hw5sMt=xsRy~+_Ak6d|AJr|17!nLmqG7e|LhCE(pAH7MvbS8)m*LB7%8zm3TB3d z8g7ypDmsP+$p6Uj{9xJbAe$1>6jozC(U}kL3->``jYzRfdC!rw9-|0Zyo%+sIil(| z^?7RO8R25YWBiK!N&56&(+Nc}{c2IW8Zvi6j#Vl|9Lw54WPFn$;5xP$82s*A?59;t zzd$m`P^3eIv@Y^3U-sGt(|nsO30Q=>J4aMFV+PW;!&uT|!V)TCLL)55#hUrtEwJ>& zXVHimgRRy#40vtw=QeQ5Wd}gXA%R31VR1yd7^=Wrg!?jdBOwfSbifk%rSutk)D*Q` zTtSAkVRP`?h~IfZU-HEAo4?{Owd;6-InRL8vz)&=)O-j3U-DJ$)+eJ>yj~9lI*?Zn zi6zBXQq5PIIY}w`kgJGQ63Dm-e8Kwu46)(vOiAq2T8l?pQ}WRfmGLcjdsbF;Gv}63 n=M7sIJ2lD!yS_#XDFrs=JVjn@$VEt2BHv-EV)Rqb27CViqaq{+ literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/examples/examples.doctree b/_build/doctrees-readthedocs/examples/examples.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3831ca257aee13af698399477f5f76311fe08de8 GIT binary patch literal 3392 zcmb_e+iP4!7*Cq)CY#G9jm8Jt;EEKR*3J5$P^^m8SkTZQr1e24(>dqN?hHBS%yBNs z=AobuLJRZevCzN9f6d>V+g@tZ3I>*(`R1GN^82p8E&uiT=0fr3x{(a65wSiU}?^NftxDe~5R>582pT@Fw;@^1?)@+;Q!U z!YGsTZ5vRxMvYM-um(cC6H6k}FxahxG1VGGe791XlwYfn%_fI{hNp@RJ&$!OhK~GI z&b$15zRnlg(vVpB26iSmkH)aiFxx-Eu5a zmLFZQ0etVk4?0pbC9=XgVP}{)Py{lBsKV z_sIjA(h=+33qxsBqkCT_1%c3t;BorMzwOgF?$^|>pAb?y`$?IrP<2?PPzMoYNC;%@ zlp*EquG^YZm`~hq!=t0i+;_`GKD;W!wV~50k-HmjWqtwV4^VgiGIi5vd)vN!6Z1D< z`pV~N8KPrE=3WhtJA85yau(T`^-fZnX)Zn5y80x#yhL)%B3{v%_K>g5VeY>BAB2`N zf2~(RP~>t71cc?r*&OVG4{$v)kDu}nhhAI3cmwYOOx#K zP3!fYqUn@;-vhJgx}jCROOvXD9=na2QuM%Mx2l;j$Un@YtIcp4Dw!IVM!9SMOk<0t z-PCmV*mXuMWr`Z9avUOxo^LQua9A(ZpdY2DIIdMkt74osjSPwJ_5K#>TChu9Q1vFajD#}r15-ofwUWYOR#3>fFr3sA2O6sf)d+&~ zie*xvU$Qe6V*t1{PUGg-a#z_{04qa{)iqPgwIUYS5!7|hsY-zrI25A^C>^6{$h=ee zGuIVqW(`3Plo7ac*Rf{Uzth(O-`8g^2~$cc!f6`COaW(aYKYmiC9Rp2(ki52HqYJ6 ziQs>`ZYgwPK+GrzT?YY+hCS&nEE-!IlnKBEObCMUR@Hma8kskTz@% zejD*yFX$_tSbp=D{DpQMPcRo5aC(~am&cm#;r|Q1uHEKzl#17zp+E=n>LIbD_)4nz zN;9V^B_DDXu}T6NH-Rr$-<=~i+?^STomy-0XlF(~I-)YZ1@F$ws%{qCD(bvp>td%y gd0^YuXd$J*rkrQU>kYXG$y($)OjV42>e=AnAJTUvyZ`_I literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/examples/manage_accounts.doctree b/_build/doctrees-readthedocs/examples/manage_accounts.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d9621492ffb6e36210179018212834a3c84c0175 GIT binary patch literal 16568 zcmeHO-H#kc5kG(2*V=dIb8-=~V;IgD-<`dCF(4FKcCfK=aGYF>drb#+zsuWGu#zW;}>UlhdXSXfZ$T{-C@3jqc0c zB|aTmn^BO2b=Ku$7*Tgz&kmX2eX;9|@yUqQV>j^icxT+1a3){uE}?Tgc4Lp_y7|5n_Cw2mVm8G*>ZHbwimQ+Mk z38T2n_j|6-y4Ut5HK!!?p6PK;HSjs9H6vAGsH63Hq@@^Ti69&nK zV_2SNxPHt+OBh9DY`QU8eI>CG_!!GdH%M1kpev*9B@xC~TW|YYqjUYU$MDJM`AzwQ}8jrTR3Q#d0WHG0q*Qp=B&lS=rtbRnwHx>$y4g)C;HK1`J*Wx6kpFy$gK4 zkA63s?*yjM95i3PU%1tFRQLq=CZXHqhx_Ff#_E7N8$_KfTCLwf47P?1HZkah%>37| z)>XaMAFn>iV%ROyHhk{*28+vRQF`1?jdz3^T}8%`zu~Gq)OytRy+N`nwe`_(I{Z+t zP+C{t9Yiv(s~M=_JHrMK)YVG$Qpl{BhMbldQ`5>}+td?P0og{}X=7K#mRn=!PtfA}2H=}tC)srY=z+Ck*TLDW{&)ArAq*=m$!}Oy9`ol_3NiADoK2w-i*HR#-zaxiwrqybvt4}H)u@!gdF2D9#BYVd1lQE>bG*B;pQtK+X#b}p&@dm0e}dzGu&1?2$2GKA{DqITT7+m zMjH0(f$z%%!-xap#uej|#EYe*?AdK9s(-e+0ts!b7_(0M0D>OWdrl$(g^uvgzK=KHlk?U`G+C`08 z$GCb~N77-#^nx~DlEMWe2&bZGIVWUNYhJ*kDrLB7;>Y_gY|4b+h}x{~Hr#p^wIn*} zkEmDy6;O-uG~ZF{n6ABaMg-N%X@JbRvLV!zg=s^^(~=B=c|tPYs#vMx;saIdHMno8 z)_x)a-^)Xsr1>lcG_TXg7x1B@T=NEg-D$4lvoENv7Mv+puld*jPgjsY`}=5v^=z8o zhbUnD8vYv<#GWe%TJ-v_fzAiU>y>hMKvVsmnPRDY2Mm%R+tNuzj4)jaY);;{i11(; z0BPUDWzha5qQ#GgIM;5X#S;Z5%t4?zOgmrR%K;$j61Bk8{szMzf*S+i&vr#A34pfg z(fVlqR>qs(3{i=KK)RX#x?CB3&RHSsuAYKny&+ZySusGl$cl6MFh7{rWty7tDW%?wsWAON4PWQx zTeQZS=>k7F;sRx?Mt?-}Y5oyh6$*9w<}{T=J=0Y%yC>;QbvfU4Lis; z-)D15xS4`2W(0*~|K5dU2aL>`GjhDptfhpBOhj=Q_#1f(nJs#O619}MMn+i3S=u`k zeKe;qCgZ!npLz$KONXa-l&Y3Ci_WUDmrpxYGPQ>BD%=&q+!?%TjN;SACMu))1w|Ud zLwJ8!~~~kiXf_Dtm6vYovL|JOm7-wPG3gVFF> z4dXMsRs=i$d;oUDLCM9_;&mRq(i`}%H^Vxgr3y=X$oFl`HI}o!G!s6>M;6 zkIHC+N_*R!hDu9&{XJSI%{QSBi2sKnYEh-V-_!7{w6|5rd4Ga3mppuxo78FX@|Nm* zK4Ul;6r~t5&4rQuRAq&Zu%ZB>QHe%xS~#a2qgLqPwKJ<27yVA!P1QfcW7chE1dWE= zfkM`@a7w`v)H{H}AuH7w5G|dA0MEKOCL9?p%Vx#8+=v3_wqL5|jrtT+`!}K5BKVxG zR`c^$_@R_FX8eTN{(boRC;%$?0e}XCjfA$}CADg+diPmtJ!jrGsBH69j8~>yFyS|^ z(rIxROnTT{6mUe2I9>-b zHfq=brEkJR;sB*>Bvr&GigD_$Zopc=$yBVCmfKy*Jep*A6l}zi_X!%B+#! zJ1yw`Kil}kE@A7weZ$L;DWsNM;Te~68SkzaC8v{jhTaZ(d1#x}R{>+L$1XCNMAUd> z7rL42v8;?F@9WAWzPAK$c?3Dr1W>QxB+eh=I9(+tpKj7}jTQ}F!T2m16qAD5`!OjH zCt@gmWc!KO3;K`3^p_>m*Wq%5Q#DL=st>#M`7=5tU4J7_%!KE@cyCo@#Rdf4sDfoR;o+xf1XzWwJc z69(VIXX{BwHxJG9R^S>xs9MB@zBN9D>TZncEACd#(;;Y z2x7b_XSvR6d-x3AqsM;IGPeNCTV1rwQUSVc)`J$QH3G?_vW3ah*^x=1%v851!7+Ux zy;h0I(}jW%x7FBf=HWIYFFBT{e~$Bcw&g-sz)?x0295J^o7IvHu$$eqLLa)q2)w0h zp=CP8O+rSK>b}ZnUB8{gCa$F6Y7E|&^64aQlpilgF1|ln>@-;z;?x1s729JW^h~1G zanW)vNa7-uaY3cakM;EQkZ8UJ&*Za`ZYIO{bL&^ikAr`)qvv6Mh~^MMQ4Un(iPO9@ z>Ig41ZsQ#9URf#I|rjgqis# zg_YD}^R_E)ju0&qXV$Hn$1ssp%1PxA&N4rU$wY7gd07TllMXW*E?xS?W!%{|YvVm! zdfkv@IY=!v3#`eux#7fdJ370%y1BVok;k1YLAW8V-C|_4+T{!M1W}|XOk9VAmSb^d znzhR(9{Uv3G8;DPJ#45YWAmtD69)mVM7u0*2sTdK^1xy`wrX$zJ9fI)ruZ=!RLj)9 zrNuYpVeLEo5g`pS6&BK28Q3l9$c7;wz>RAC6OMN%>iDs>W$HuQbRU>b1n`4V%Yr|> zl)!!IT=y{~;B>c^h0=YnG8AV_jJlPy>EJhFjJR~2y7e7#1IG0mSW@NZhspD!q*fev zh_!0WhU;~(Dh^{Ys4djJz`A8pI`5f4CwNs$_orXw`5Rvu?~VqDgyn1Lhearf1v z#;0TufY-r*T;IkmUzm$TA7Z)Z!5anN+-6yka-Qbz=;MntcpV=JpC+1g ze~LIrs%wJcnxM8OD6I)9Yl6a>czP{yj?s7$z&RkeJEsI|=WWTCF7-&hbRb>wrNX!1 zE6{GjXY!^brZ`h~DdU8WFm2gF?ykm3UFKWlI5-pxs#Oa-ZJlE1!#$09^mKvZwBjlr zI$WTS$Q{PCRV?(B2OZ%M<~~_g>GmVBIP4RN_K1rW*kAXELS$=R!l5gc8_~^bKG6s z?Vk4`iYN@ENaIB5HZ9rdpOh?~UGUJmH%gffxA=){A$cMZ>b&O`o~F*Lv2jcwfL8q3yY}CLT<9&^`83ZWA_fgmEh;QS~sGI(%n~fVj zYf+mh-WQtdRMoSltYg-GYsA_Uk4a)&IrYha`N1i(X?9LE+09dd*S4E2+h^&w`Jj1Y zzPlM(o_mTV!#ouvG^hoN1`B==_Ts%D2kTwl9o4Ohpngit`(#0Uq=1HkbkoIkDWMiI ziUm-}dJtr>j)U4iiocKI?_vBsf+1Tc_)s6Ep<1)noOSZ@DA3szPk_Sax^H%^?0kNC z)nWlNA<>ruPS!dlw~ z-%3@HGAr1HYHD`KI+^OYy7oMZIb$U9j|qJ0VQM=MZkbO6f(0L6tJMVlYIIg3Q4bRk zPX=j+LdrlEwbSw8eh9sE$YU6VQ#RyyFPHbiZsIXOj(ocpA1OeY%Z`QqSy}%iU~&>C z(byc+xQ0frrqZ~A313qaKD+iT3n2kaNfM~J&cb;VDPk7U@;0ZXEjzNr@9FqpzP}vp zzF3B?q+Nd})@FRD4=+WqpDpV&OE6NxpBvP;lwc><&il*^Sw;(iVhvt4Z=fH_E!rQtdua?VUl5OR4tg+6!LOZf)vR>+rH1 z)haoujZY5$tavnK%6B=%LE%2=ISPNHY;=mk{k?Ds_YFf)`0HieW+{9S6#mOWjr%Fg zwlu@>n9#4icx0ZV^Gc%kNo7dAU*aN6UP#=H`Csjn3 zk7%aHycqc~!@eOMNDi6okipD`Wpo&Ppr&EEO(Wdw!bqDgS@V_`p~Qwkk9_0B%@?1m z=+FDC>jie``J2j|e*lmaWt;;eyLMT}oC^LKL?5ZurzM@DdOE@Jq&BXeDIKr=ii{^V zA!j?8eIj|utQVQSWa^8m(osGlM)~j%qXZW?1~pIp!v{1*II-#(WY4*g2S*snrjw^; zO7Bd0CquVS(LE#3T^a&iIVlfj&<47@;>k9A6W?st>TR!aBjZS1dlTKZe6M3DcYdJ- z2No=7*qyHDhsHB)Mj_HgQCg`yY$PTCPOK}!AtUsRs~3&)!WFFqEoLm|o?8%BXLiQ! z&YMj{R6#KBwdND=b*5^}L!A1TGt%-<+8vcvl(85s2%v*CR&6#_x5L3!o?t zqIOuJd5}Q{3u*v?QXm3!7WBGV-Yq8yjH5nnrth1ZiJJ|8ybrJLV4xgq(+;|AG~i+` zy}AkszMOfIZyj8M%7SbWoUIu6uj?aRn3aWdiQd|ok$Y!Gln^4wKjxepAc673txo%F z&^0M{Fy004F#jffZJX|TWUk}umt8DD|S91`XqwV-6r4xfi5s zf0CM~y0)t6+6SO(;q61K2FRndQ(ddHYe@?=mCow|C2t6nq&{89pcd7gPvB7*OI&04 z@dKwod1@l7_iDEAR{FInD6W*Mu2Zu$N{ykT<;Oq9_3MR1Rc7HBoK&gOHiT-e2wj-% zF|Rb0e%v8A5{c}CAh?nluKwN_ATZ7qG;m&|j~~Z}(sj;N{JQO|;<}@JxN+tuV#-IR@C}R@QLsRL{djpx2&~FPu|LPEgmg*Y0MMZEB`nuHBGF6{ulpbAM zwL8psj?%U_%{G!FA%4&EG%kLZWk{UgC&Y+TR0y9IO~;d3$9e?s{PBRn$RIw~2?F^0 zw?I%v@y;I(=sFw7p9h`3Iz)TK^3LzjXcYtNdAYf@3+85ETxl6EF?It)Y~m+*_Z#?G zO2faWUUeF(qUrcRw%Z&D|9Jr3l7xC6py1JB>=Xh2aX`me0$u=N{&tA=g9unv1bhJt z16GED9r~@2urKBG=r$hC<(!;7yA%3@VI{FS3OQ0!;O7GNhme~mD3|rr}{)@oKv=hmNRM?uLK64JMGFxg@Qn^irVFsa(q-)b4 zMXdDd9X*?>!8w|#W6p_fQ0rNJ7$r9FsHUt`c3o!DwyI9CJ1ekzatQ3m8a__Vl`^^f zV;YhFebusIq9|>aF%~ zX+8Wy*@=$r(t2!?N2m~erIEQPF-&}4mFoNO4LoI_OM-ze4#7au%0HiBq+C!Ie=`@6 zHLynNbrz8PX6-;GwhAYul6z8rT0W)(WxbBMSBQDCc6q00J8pJNI^JU<_bJhoKXt4=Q;5}jr)L>r(}j#8@!XQatSgS@G8jaJU<+SVp>oDK844mQ?Gn&R^FENgK z^t;XRxYxx}3|3f>w$S$?m1@~C6w+x(7QoU19ifjFAtX4t92s3b?w*y|xR}1`Fcyno z?C(ZyBaFD?G{m?w9N@fzIlOZYIA4U#_D4LTyfl2%$NLjS5Qd#(ovs3}WDdm-9hO-H zYnajGOm+z~IR^nFL7|VK!y@>@j&*n(;)lxICn;{_jda4jS%5eUPO>bDg&D+baOCl& z=|y$y;vDP&-8~-tashHfX-kcJoYl<4<(c%IA`rt)oCYSIP=2eNh)ju2_1`Ok`T?@* zUlhR~cGTNo*Dd_6M2fbk)k*aaMW_x#Dt&TBX62;dn-1aMiXd!5FYAEzQfwk&i61(+ z?-qgE_JB&YQDyIYFt7S>M$X8w;F~^>A1Q#MsSY>l)R~VpT}m6T<6F7z$N{b@z||b! zxdOoPHYRKv3_QwH7ZQ`?mrjPKimImuQ9Xq@8}Dr(p^@$?(D*K0jzelwY$xbTyuGZgxg8A)*FG{UZ@fjCYvcYm z)*}1X-&FQA*}*^wzLNCgG-XB9@z&G#7Grsiq#@p?A- zcKHjQAD7h;I$Sh%$-!8W>kH zWG;z$?bG1JTsBfmqRBjF!OT_pN*vhguBS7vxL6;0i8U|!_POwk*(pk979cdscf4WK z8~;!8CXnxidH{qVeU_;d1@P9*KFg_?b}8yhKAOAFpm6rzPk2) znnw`)V)YVa^mm^hLFaBL4++S zCXRPoHonL+-L!ECah@Gk@fR56^@?32mbYQFJrY z-HBUCE?|K4i!R1UTQ%$C&Qvjkmu=7<(zTv80f>Z7~K= zQSGJFI~iv4Z-V@E{ET zTUJ%!&~s3~`DX?kV&n#8=WUibi@FbsxpUjl`qllBZ*zntZWdPe)zP+oqj-CYfZXI06W`GFD`v-e(Ci5 z;?gRI03ff-d_T^Go~J8U2ytP#eOk8)4zhn#Yi;@Ay8 z-t??*)^+FPxeG!g5lY(0(Fzby*wIm|t_I*5J{X;HF z%JOjw{L}yod?(S}FKEUvbGYko&QUagXrb$2eHiIM!!mD5m4!{`ILft=s-y-~8n&Wq zn}-wYQxT`O_~k8FEmEown9ZAGX|qQ$;Q&@WLb$$ zoyk~4SRM+q9tYZ3lR}p=;NZv8o;Y3M)=fqq@el6+71uZ`;22Es^8*+s>m9wLF+}Q7 z#Ycrn$=oC}Pl046+<6G9<~>J(6@)19#Nn&Imd+ z*}*XYA%3QT!y+)mvQ=^xgUd{Xf^b=Z$e(8%7L1qC0o~)0Ob%T`)iK=&0=sG8@;$`p zBr6aNBPslvv_flAgPAl|jyN=Z-(}j~S&2MdI5gwv46{E-|6FD-#QlnPqf<4T)S_b|bT%1hg%fE~1DNuNh;&k!y;v7oNpazH2^OrB0?Eni$xb!)!`H@>g z7B7r~JsMg2n1u@`90-_<$_oH=C@)atP%=fwhr2cGD5I;A19bVID1qC^ zOKOy+s>v6!0Alh$@`e@+p6>qk@rntgi`#f9N?ftbw)#05A7Zy`(2BeCve9Tf+GO=; z9pI)mOy4D67X31_gOUkcLe*e2sNUz}DceP`Q^Q*%kRGRF&J$7CntyUWu<`vNy;4LI zHR#D^n~pW|qtOk#ujM`wGG%%h<-PRc8w{z<^sD{>FV z2Wboe2!-1WarH7?t~)7j)CI-q0Nif8pC>*7-xgUexaxfU%WdFj6zDL9#g!I@35wXw z8l~s$TRm$mo}zme5f#XycsG{ZaX)#~>DCnEfv~)Q2R1I^D|B-oF9CJkfTlk!>IN)o zdNo`Ej8+HPE!^eKL`al8$+@Hv)^6JTl6UH>hO871d=!@Zq(E46@c|4bz}^cU2%-5T z#!G{#wQPEU5Z>!E)n#2oOUWBT2$us?Qb(GxM!X#xRv31Jv!_mNY-}uu+lLoCf1SU< z2Q7nBy?C0QpdRUo8s1?7Due;aWGcc zX#>PWXx1SD&Cu#y9*>VhSUNQ&TMGS}xP0h#e3WBjySPA^HnV_dh(=8?@_xLYN&ST2 z9Skj%l}R$%W^@ zBUWNKuu|-{1zuFMsF?kV~iLd?}bA7J}MO7XPv_kP3J!PsL;ng`Z$jLq|Pz=xK1C} z=;IgZSVGpTL_gq7!)2Av}RMoq-W})BZ({H+Kf2crwefoRpId8ycDB0^}7Xq*i1* zF=yEl(GG$O#_iO-wvqzg^dq@K)p|nfaY91n4;|L}=SdARNz?hhk{bA_P!nYbAiosklDX0yX~GP5hoY(PbX1qnvbS;dFh%I&J#eQ#1< zTlZGdVNuoxWdavLw-!MK^;!P|(SJZx5PbIk&VoZmV3 zocehA(|>I**grGyV=vP(PDxe^qfH{jp5BQ^{jm#*q^;rFrU%Wx(Hbyp%J|eP?vBsuCfi z>F~o$dZ$XWR6AgPnsMhnK62iA+j;!x;PJZ$kKT6Pdi406z18odg#o@Zu7vkC3U zMPKZQC9x=$Ot(VYll}L>r}h!%aNp-=`!%d)PebLO4wDNl;%Hw+KA-NTO6O)dkP*)h zJK2aJswj|gRAZVBN--t;cC^$1Z!DSn-{k?2#0f*S#@E$6l)q4bV(X^dGZ#O`LHFTX zaR&|+uL4=0#qTbDpU2O6mS^HMF$B{?@`kuC9*EZuSL{Lhhz*;hED=q6`(Fcy5i)g9 z+0>xS^nMj0zjB@4FO~Wz8dks6+oQyav&e6#Ej(y8i`3m?zF(G*l`?}~;QgNm7CWY6 zV+UN}9I3QuIx_v*`}vP^X4Ylo1)0yOdJw1tW2P6fsm~KF^223-66Jv6d}Njw{?tB;}Q2W1=FV$S85(Mmd)k?s>;Ffghv)M$Az6=u8tx;wRV5YtS202iYD$9{0#vm z!-DC`$d-wQ>SFJf=~dG6*-5)N#BbXt-8IWryjfD(2Y&H?Na}do1;57bU$u8Pnam3I z>5Bvva)~71;^kvM4sku@;`e3^Z+w~r(vuo+rbS$o6OLjxGuCwN9xoRkSaIhpjq>M& z=U!C+0t2 z$9$#72Ss)$&QebtueOrIY|JeetF`-278e&5Y((k^%t%|fn61$H5S(240p@7wDGsBePyn zY{fh>J;k*~amCDVyB;FOsqI8i2fN>4L53@&F0Dgc=cuVXWjaoALHB+1{%G~X1TSla z8e9a?DPC90*DMY2wt>6WrCyR&p{_$M!bNVj$LQCiSo6l>;iB1~W)D}pI~~Vqn1eD< zXeko6oKqA;ey*VKfYaon+;gdgTXnS1SZ*j=TpT{-Nu1)M;%7X_4{w=O!Gij=V{Y@Q zgs(KynW~sNrsMNbHi5bUm0`MwAeXZcl)g^U3e%zT=Vl|1ZX>uk~o`(J76=;^t_agm6Dr#t(BID6PMCxP{^Ix(0Tvqd&4Kt zKflo0Y_{kO3XT$RQDEEqjetdyj7>N^?&C7Mh4#yQ2D4P0`Yw7kT*^>GJ>HS&V*VQA znDB`7UCaezIn6PI3|OXPcSbU|BtW&{XJO*jz=LBgL8ALjBNmXrO-q4yBSqn#krKr- zKXx&OfNKjEX{@;0+-XtbY4=PjSwM8t^`)Xt2nQ*xT&WU5JTU7xj6w?7$reI4N;bFZ zPt73ViA&cuQVE$19<(G0;0o1*ZQ}^76Lqk^e|~Vl$n~ll^Pw#81*IBW2;8!Fo23astZ!UrzW~*?g3Dt zTjy47zFSOhm*$SOMn)LTsM!W?$wxkbyoN6Y^(zu@OI={Pp1ML#M1Y^2%VI+Kx(YGm zyB}sqUxjYwo+mKbc!*<>K8Os}85dlqSpo+7P+?p2GOf|igCe6bLR#hdHf6rbM)Q1I z99_PT)Vn}SD>(Y4OS9tzF*|iRdaJ<2)M|SZj6R*-FnTdy%PkfY_jb{9;+zqsi7O8}kfx)#shIta4?+^iTn6wgHA; hBo00`C={1MV4di5Oy}Oo!d@!PxQ$_$1SMB4 z{u3|$j348xFfw#ywKqABVGkO)kOebb#b2Y?3j@n@C$;MIMNjm_;Me#Hn>{C8!MC=; z$m&9}g)}@SCFmTy&dAI=TsB>9Uowk}gh5_V zYazsYPtme@8!}(rFEW~68@@<7J`5aPrmZL@;+Z%SkHmiHZ^C>tdvCe1Gsl-%DPt}8 z1E+Im_%>jTu6T}E#X0c$63^FozQOYn&$BRSodW~FWMm!rd>hTbBMrw=<%MT_A#u-? zxu0nmmUPW{O zy_D?R7|s@2JEa}p+Pr!c#)+0l5?L>_DI+8ki{hvV>M_yV!sPQt!V6wY$VxgvHavpI z_CQN41aEkyjUxrW;YF&MLqUsf*$YqjS^_IaowpmMUg$BN`6b*YurB_>t z;rzkQ0~6x+Flmh5U!eE?-7nMEaK5|o;AA*W0a&0UfKP#dVi*@xEj?Xwz|F9J3>JmY z49~S;1e8N@z)hm+JoIy|7KjmWNJc6&D7lWJA12g0P3}eEu|!3UnJ+8SRUJ^R1rh~k z6fKg$lUf33l})+77gd&frpdZY^>oVDmA0I0pR7wHcjQJ|+0^F=Vbap9NP)Ds9BkMi zF2XT_v8aFAc8+nYMmB9GOe$Ux#Drd<@;ct*B*`dTr@{_j3Fj*NW;R=`R+mjXz0_t| zcU@@OSqx9piDWUIAdZ(n*#Xrdi zE`IV^7&aXMltTeY#W2QEE{+-~*Q56de4`*7z9|3;#!Z^i;cQ3R3}lF5ZP6|Isqit& zAs-}R^DaJ!w>FHDz};5B>0=Zh=2o2J|E)N(VZ5EC`t&%L=s?LmEH;wFq>Wy4&234e zhwldDs?2oJCB9bu{DH939_?5hZM@cp&UWmhBN~@l@Y9F3+8ul*fajgs1YbO$2fkq} cT1aECqw|jVs1w&IIb^BBv}8J?)TnQSC#c% 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 ITCnl|2anWNWB>pF literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/solidfire.apiactual.doctree b/_build/doctrees-readthedocs/solidfire.apiactual.doctree new file mode 100644 index 0000000000000000000000000000000000000000..41f885e55f0869dea57013d2246bfa40c3b8f6bc GIT binary patch literal 89857 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 literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/solidfire.common.doctree b/_build/doctrees-readthedocs/solidfire.common.doctree new file mode 100644 index 0000000000000000000000000000000000000000..26331a99e3a64db97f58714958fd47d084ad054b GIT binary patch literal 174063 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 lFIXox7#4fU(VlfHk4 zAi)DtE6p3jzu|B2fB0tCyKB2DJV7KYJ7>3+jbCFWTa{tWp4Y#9NY=q1kecs{QeCL@T zV6$U{N!iktdrQky&_pOUimf&>>lY-xBs1p2863I&gw2EVf6)BRmluPh6SrLuT*Y{P zY^TKS5o45?T7yu+)wcxIxTf2QQ=&D5`0nH+tG;%rE!xEt_fRYeI@awNG7DRt_xL+} zpKtOlw_PXU^YK&7lpYgGvN2^><0hu|YpChvu(&Z?=B;oM@@d;`m(%D%0t|EglzD;NC7`XR^P?%J^bFs?>@rgACzHz z7{cNMe$F3UbnMg}>4J-VJ|dJZ(9jV%W%H%?tDg3imfa5Ss6?6G0TL$i8J^$0-6W`f z^g&jJb?)7p)z@%c#q;fn@g&^!Qv|fQt0QBp)i{+gNyn*}j;j=ZH2P$$g<-=5m~@-- zaRsw+6p37zC>j+vkAZQGYv!}QO!_Z7esHmgN7-;)V2jKYDfm(b+>@mjAtKj(3o!I4 zOYoeuFQ-4E9(11q;ju|?`XVb*777ZRM)osOgnx#!{uh;e@3U{e8r9GG-xzPP@jX)c z-M?Yu8$S5I@?5{How5d0gI8n19WBt(lmn~5U2nCOLYDE~g{QKNTfDa(m$+tF!KDV0 zCyo7AGuKOwww4MD_5JEfY&eCV2cU1dUTjt1vuMFJ6L(NcO1hZ1UCoREbivhk8uCt5 zNe|S!?H@>LQGYdi^WMaDXDnxm7^yrKlz<%#$qFp?D>o5rUt+npSXz~0b!cQ91y&5Z zaMua7edFCpBBjZtVN07Ao9-|)g4|}&JdrB%kn}>46;Uj+fPW2>cPk02kgua_VR%$? zGdwO1EXW$cD^^HlqLf{+6kO@{I7ypj$K7Fb)HI?oR@X`$*P(1`XK>fMCMrj+prIJa zAn6)KVitn(&s|UCg*6e&V@aXqUDujq_-LpFzVEGWMocNGB2IFeGKD;ctHz-5BWca5 zl}>5JyR)^OH51&sUS+hsK{aKPdw8?l2|!%%YDX-4yFv z=+EvoaFA3qqO4#b@;naAJaOBoo&+%>9fC#$nx2@0Ze5R9BcoR2ZV4djklL(>8q^`H zr9gnuR8G=h@Tim^wYd&&---&&ES1qb3wSza^FnF{9&S&T5Q$B6B|zULK93?QG?}I$ zki{)`>T2NU?f}7P;GdK;2OzUhixQERZO8QrRz!%2p^oA*-h&{S61Wb)c71M4p&yUO z*VotR2BAfdq?(nT9GZIU-Dx-xEQS-2Vc>974Q3z6hxZ?TjI{Jr60f-llGe?=+KrJC z^OayGDcx|BrEt+TWD5LK!~MmsI|G`ss41-G`jJLQWB!GEqr45;4O1a%3n z&zdEw?pWXChRh=_W<15O95rNs_kqp`is>hd+SRam7IQSX7_U*)4qhgZOa!eDHdr#8xE77 zJ6VxdLmtGimNbj)0DR1cknaRx^*!J@zvKyzt?LGoQuXyUVWZt$vDmG>mWNJO?1Olf2~2;wZfmi#;dVhM mjam-_6{-;9w+2&H1{>B`5$`wR^5yqvAhJcxhvsUhqrU;lwEHIj literal 0 HcmV?d00001 diff --git a/_build/doctrees-readthedocs/solidfire.doctree b/_build/doctrees-readthedocs/solidfire.doctree new file mode 100644 index 0000000000000000000000000000000000000000..924789afc61a9ebadc7a2019cefe250ec9682c51 GIT binary patch literal 4988687 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

D~5hXQF<^oGbkw36bJ1yr(v`4_vZ`9fpW+ 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�O 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 VY%ecb`te@L)Z93`xp|`b{{R%s>F)pl delta 323585 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