API Glossary

Nebulon Python Client

class nebpyclient.NebPyClient(username: str, password: str, verbose: bool = False, log_file: str = None, client_name: str = None, client_version: str = None, uri: str = 'https://ucapi.nebcloud.nebulon.com/query')

Nebulon connection

abort_update_spu_firmware(spu_serial: str = None, npod_uuid: str = None, ignore_warnings: bool = False)

Abort an ongoing firmware update

Either spu_serial or npod_uuid must be specified.

Parameters:
  • spu_serial (str, optional) – The serial number of the SPU
  • npod_uuid (str, optional) – The unique identifier of the nPod
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – If token delivery failed
cancel_custom_diagnostics(request_uuid: str = None, ignore_warnings: bool = False)

Allows canceling custom diagnostic commands

SPU custom diagnostics requests allows customers to run arbitrary diagnostic commands on the services processing units as part of troubleshooting issues during a support case.

In some cases custom diagnostics may run for a longer period of time. This method allows canceling active custom diagnostic requests.

Parameters:
  • request_uuid (str, optional) – The unique identifier of the custom diagnostic request to cancel
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
cancel_support_case_attachment(case_number: str, file_name: str) → bool

Allows canceling the upload of an attachment

Parameters:
  • case_number (str) – The case number of the support case to update
  • file_name (str) – The file name for the upload
Returns bool:

An indicator if the cancellation was successful.

Raises:

GraphQLError – An error with the GraphQL endpoint.

claim_spu(spu_serial: str, ignore_warnings: bool = False)

Adds an unregistered SPU to the organization

SPUs need to be claimed by an organization before they can be used for nPod creation. While the nPod creation command will perform an implicit claim, this method allows registering SPUs with an organization without creating an nPod.

Once an SPU was claimed, it will become visible in the get_spus query and in the nebulon ON web user interface.

Parameters:
  • spu_serial (str) – The serial number of the SPU to register with an organization.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
collect_debug_info(debug_info_input: nebpyclient.api.npods.DebugInfoInput, ignore_warnings: bool = False)

Allows sending verbose diagnostic information to nebulon ON

In cases where more in-depth diagnostic information is required to resolve customer issues, this method allows capturing and uploading verbose diagnostic information.

Parameters:
  • debug_info_input (DebugInfoInput) – A parameter that describes what information to collect from which infrastructure.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When there were issues delivering the security token to affected SPUs.
create_clone(create_clone_input: nebpyclient.api.volumes.CreateCloneInput, ignore_warnings: bool = False) → nebpyclient.api.volumes.Volume

Create a clone of a volume

Clones are exact copies of volumes or snapshots. In contrast to immutable snapshots, clones are mutable copies and can be written to by hosts.

Parameters:
  • create_clone_input (CreateCloneInput) – An input object that describes the clone
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns Volume:

The created volume

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
create_datacenter(create_input: nebpyclient.api.datacenters.CreateDataCenterInput = None) → nebpyclient.api.datacenters.DataCenter

Allows creation of a new datacenter object

A datacenter record allows customers to logically organize their infrastructure by physical location and associate address and contact information with the physical location. This is useful for effective support case handling and reporting purposes.

Parameters:create_input (CreateDataCenterInput) – A property definition for the new datacenter
Returns DataCenter:
 The new datacenter.
Raises:GraphQLError – An error with the GraphQL endpoint.
create_lun(lun_input: nebpyclient.api.luns.CreateLUNInput, ignore_warnings: bool = False) → nebpyclient.api.luns.LUN

Allows creation of a new LUN

Allows the creation of a LUN for a volume. A LUN is an instance of a volume export that makes a volume accessible to a host.

Parameters:
  • lun_input (CreateLUNInput) – The parameters that describe the LUN or LUNs to create
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns LUN:

the created LUN.

Raises:

GraphQLError – An error with the GraphQL endpoint.

create_npod(create_npod_input: nebpyclient.api.npods.CreateNPodInput, ignore_warnings: bool = False) → nebpyclient.api.npods.NPod

Allows creation of a new nPod

A nPod is a collection of network-connected application servers with SPUs installed that form an application cluster. Together, the SPUs in a nPod serve shared or local storage to the servers in the application cluster, e.g. a hypervisor cluster, container platform, or clustered bare metal application.

Parameters:
  • create_npod_input (CreateNPodInput) – A parameter describing the properties of the new nPod.
  • ignore_warnings (bool, optional) – If specified and set to True the nPod creation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the nPod creation will fail when nebulon ON reports validation errors or warnings.
Returns NPod:

The new nPod

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When nebulon ON reports validation errors or warnings and the ignore_warnings parameter is not set to True or if the nPod creation times out.
create_npod_group(create_npod_group_input: nebpyclient.api.npodgroups.CreateNPodGroupInput) → nebpyclient.api.npodgroups.NPodGroup

Allows creation of a new nPod group object

Allows creation of a new nPod group object in nebulon ON. A nPod group allows logical grouping of nPods into security domains. Each nPod group can receive custom security policies.

Parameters:create_npod_group_input (CreateNPodGroupInput) – Input parameter that describes the new nPod group
Returns NPodGroup:
 The new nPod group.
Raises:GraphQLError – An error with the GraphQL endpoint.
create_npod_template(create_npod_template_input: nebpyclient.api.npodtemplates.CreateNPodTemplateInput) → nebpyclient.api.npodtemplates.NPodTemplate

Create a new nPod template

Parameters:create_npod_template_input (CreateNPodTemplateInput) – A parameter that describes the nPod template properties to create
Returns NPodTemplate:
 The created nPod template
Raises:GraphQLError – An error with the GraphQL endpoint.
create_rack(create_rack_input: nebpyclient.api.racks.CreateRackInput) → nebpyclient.api.racks.Rack

Allows creation of a new rack object

A rack record allows customers to logically organize their infrastructure by physical location.

Parameters:create_rack_input (CreateRackInput) – A parameter that describes the rack to be created for a row.
Returns Rack:The new rack.
Raises:GraphQLError – An error with the GraphQL endpoint.
create_rbac_policy(create_rbac_policy_input: nebpyclient.api.rbac.CreateRBACPolicyInput) → nebpyclient.api.rbac.RBACPolicy

Allows creation of a new RBAC policy

Policies in role-based access control associate RBAC roles with users and resources in nebulon ON. Scopes can be added and removed from policies, users and user groups can be added and removed from policies. Nebulon ON will not allow two policies with the same definition.

Parameters:create_rbac_policy_input (CreateRBACPolicyInput) – A parameter that describes the policy to create
Returns RBACPolicy:
 The new RBAC policy
Raises:GraphQLError – An error with the GraphQL endpoint.
create_rbac_role(create_rbac_role_input: nebpyclient.api.rbac.CreateRBACRoleInput) → nebpyclient.api.rbac.RBACRole

Allows creation of a new RBAC role

Roles in role-based access control define a set of permissions (rights) that can be assigned to user groups according to their responsibilities. Rights can be added and removed if these responsibilities change and propagate to any user that is associated with a role.

Parameters:create_rbac_role_input (CreateRBACRoleInput) – A parameter describing the RBAC role to create.
Returns RBACRole:
 The new RBAC role.
Raises:GraphQLError – An error with the GraphQL endpoint.
create_room(create_room_input: nebpyclient.api.rooms.CreateRoomInput) → nebpyclient.api.rooms.Room

Allows creation of a new datacenter room object

A datacenter room record allows customers to logically organize their infrastructure by physical location.

Parameters:create_room_input (CreateRoomInput) – A parameter that describes the room to create
Returns Room:The new datacenter room.
Raises:GraphQLError – An error with the GraphQL endpoint.
create_row(create_row_input: nebpyclient.api.rows.CreateRowInput) → nebpyclient.api.rows.Row

Allows creation of a new datacenter room object

Allows the creation of a row object in nebulon ON. A rack record allows customers to logically organize their infrastructure by physical location.

Parameters:create_row_input (str) – A parameter that describes the new row to create
Returns Row:The new row in a datacenter.
Raises:GraphQLError – An error with the GraphQL endpoint.
create_snapshot(parent_volume_uuids: [str], name_patterns: [str], expiration_seconds: int = None, retention_seconds: int = None, ignore_warnings: bool = False)

Allows creation of an on-demand snapshot of volumes

If multiple volumes are provided, multiple name patterns are required, where the index of the list of items are related. For example, the name pattern at index 3 of the name_patterns parameter will be applied to the volume specified at index 3 of the parent_volume_uuids list.

Parameters:
  • parent_volume_uuids ([str]) – List of unique identifiers for all volumes for which to create a snapshot
  • name_patterns ([str]) – List of naming patterns for volume snapshots. Options of the strftime function are available to format time and the variable %v that will be translated to the volume name.
  • expiration_seconds (int) – The number of seconds after snapshot creation when the snapshots will be automatically deleted
  • retention_seconds (int) – The number of seconds before a user can delete the snapshots.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – If token delivery failed
create_snapshot_schedule_template(create_template_input: nebpyclient.api.snapshots.CreateSnapshotScheduleTemplateInput) → nebpyclient.api.snapshots.SnapshotScheduleTemplate

Allows creation of a new snapshot schedule template

Allows the creation of snapshot schedule templates. Snapshot schedule templates are used to consistently provision snapshot schedules across nPods. They are referenced in nPod templates and are provisioned when a nPod is formed from such a template.

Parameters:create_template_input (CreateSnapshotScheduleTemplateInput) – A parameter that describes the snapshot schedule template to create
Returns SnapshotScheduleTemplate:
 The new snapshot schedule template
Raises:GraphQLError – An error with the GraphQL endpoint.
create_support_case(create_input: nebpyclient.api.etickets.CreateSupportCaseInput) → nebpyclient.api.etickets.SupportCase

Allows creation of a new support case

Depending on the type of support case the required parameters change. At a minimum, customers need to supply a subject that describes the high level summary of the issue, a description that details their specific problem, a priority to indicate the urgency of the request, and the issue_type to better route the support case to the appropriate subject matter expert.

If the issue is related to a specific services processing unit (SPU) or resource in nebulon ON or in the customer’s datacenter, spu_serial, resource_type, and resource_id shall be specified.

Parameters:create_input (CreateSupportCaseInput) – A definition of the support case to create
Returns SupportCase:
 The created support case.
Raises:GraphQLError – An error with the GraphQL endpoint.
create_user(create_user_input: nebpyclient.api.users.CreateUserInput) → nebpyclient.api.users.User

Allows creating a new user in nebulon ON

Parameters:create_user_input (CreateUserInput) – An input object that describes the new user to create
Returns User:The new user account
Raises:GraphQLError – An error with the GraphQL endpoint.
create_user_group(create_user_group_input: nebpyclient.api.usergroups.CreateUserGroupInput) → nebpyclient.api.usergroups.UserGroup

Allows creating a new user group in nebulon ON

Parameters:create_user_group_input (CreateUserGroupInput) – An input object that describes the new user group to create
Returns User:The new user group
Raises:GraphQLError – An error with the GraphQL endpoint.
create_volume(create_volume_input: nebpyclient.api.volumes.CreateVolumeInput, ignore_warnings: bool = False) → nebpyclient.api.volumes.Volume

Allows creation of a new volume

Parameters:
  • create_volume_input (CreateVolumeInput) – An input object that describes the volume to be created
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns Volume:

The created volume

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
create_webhook(create_webhook_input: nebpyclient.api.webhooks.CreateWebHookInput) → nebpyclient.api.webhooks.WebHook

Creates a new webhook

Webhooks allow integration with notification services and workflow engines. When configured, webhooks are triggered for opened and closed alerts with the specified webhook payload.

Parameters:create_webhook_input (CreateWebHookInput) – The definition for a new webhook
Returns WebHook:
 The created webhook.
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_datacenter(uuid: str, delete_input: nebpyclient.api.datacenters.DeleteDataCenterInput = None) → bool

Allows deletion of an existing datacenter object

The deletion of a datacenter is only possible if the datacenter has no hosts (servers) associated with any child items.

Parameters:
  • uuid (str) – The unique identifier of the datacenter to delete
  • delete_input (DeleteDataCenterInput, optional) – Optional parameters for the delete operation
Returns bool:

If the query was successful

Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_key_value(delete_key_value_input: nebpyclient.api.keyvalue.DeleteKeyValueInput) → bool

Remove a key value entry from a resource

Parameters:delete_key_value_input (DeleteKeyValueInput) – Input parameter that identifies which key/value pair to delete
Returns bool:Indicator if the query was successful.
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_lom_credentials(delete_lom_credentials_input: nebpyclient.api.lom.DeleteLomCredentialsInput, ignore_warnings: bool = False) → bool

Removes LOM credentials for a host

Allows removing the Lights Out Management information that is stored for the provided host. This will clear any LOM information for the provided host on any SPU and disable any feature integration with the server, including power management and inventory.

Parameters:
  • delete_lom_credentials_input (DeleteLomCredentialsInput) – An input object describing the credentials to remove.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Return bool:

If the request was successful.

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU.
delete_lun(lun_uuid: str, ignore_warnings: bool = False)

Allows deletion of a LUN

Parameters:
  • lun_uuid (str) – The unique identifier of the LUN to delete
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_luns(batch_delete_lun_input: nebpyclient.api.luns.BatchDeleteLUNInput, ignore_warnings: bool = False)

Allows deletion of multiple LUNs simultaneously

Parameters:
  • batch_delete_lun_input (BatchDeleteLUNInput) – An input parameter describing the selection criteria for the LUNs to delete.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_npod(uuid: str, secure_erase: bool = False, ignore_warnings: bool = False)

Delete an existing nPod

Deletes an nPod and erases all stored data. During nPod deletion the configuration of SPUs in an nPod is wiped and data encryption keys are erased. This renders all data in the nPod unrecoverable. This operation is irreversible.

> [!NOTE] > This is a non-blocking call and does not wait until the delete > operation is complete. SPUs may not be accessible immediately after > the deletion.

Optionally, users can make use of the secure_erase parameter that will trigger a secure erase of every SSD in the nPod. This utilizes the manufacturer-specific software to securely delete any data on drives without damaging or expediting wear. Secure erase will require several minutes to complete.

All data is encrypted before written to the backend drives and deleting the disk encryption key during the nPod deletion will make all data permanently and irreversibly unreadable. The secure erase functionality is only provided to support organizational processes.

> [!IMPORTANT] > This operation will permanently erase data and the data cannot be > recovered. Use this method with caution.

Parameters:
  • uuid (str) – The unique identifier of the nPod to delete.
  • secure_erase (bool, optional) – Forces a secure wipe of the nPod. While this is not required as nPod deletion will destroy the encryption keys and render data unreadable, it allows to explicitly overwrite data on server SSDs. Only use this flag when decommissioning storage as the secure_wipe procedure will take some time.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When there were issues delivering the security token to affected SPUs.
delete_npod_group(uuid: str) → bool

Allows deleting a nPod group object

Parameters:uuid (str) – The unique identifier of the nPod group to delete
Returns bool:If the request was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_npod_template(parent_uuid: str) → bool

Delete an existing nPod template tree

This deletes an nPod template and all associated versions will become unavailable for nPod provisioning.

Parameters:parent_uuid (str) – The unique identifier of the nPod template tree. The parent_uuid property of the nPod template should be used for deletion.
Returns bool:If the deletion was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_rack(uuid: str) → bool

Allows deletion of an existing rack object

The deletion of a rack is only possible if the rack has no hosts (servers) associated with it.

Parameters:uuid (str) – The unique identifier of the rack to delete
Returns bool:If the query was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_rbac_policy(uuid: str) → bool

Allows deletion of an RBAC policy object

Parameters:uuid (str) – The unique identifier of the RBAC policy to delete
Returns bool:If the query was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_rbac_role(uuid: str) → bool

Allows deletion of an RBAC role object

Parameters:uuid (str) – The unique identifier of the RBAC role to delete
Returns bool:If the query was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_room(uuid: str, delete_room_input: nebpyclient.api.rooms.DeleteRoomInput) → bool

Allows deletion of an existing datacenter room object

The deletion of a datacenter room is only possible if the room has no hosts (servers) associated with any child items. By default, deletion of a datacenter room is only allowed when it is not referenced by any rows or if the cascade parameter of the delete_room_input is set to True.

Parameters:
  • uuid (str) – The unique identifier of the datacenter room to delete
  • delete_room_input (DeleteRoomInput, optional) – A parameter that allows configuration of the delete operation
Returns bool:

If the query was successful

Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_row(uuid: str, delete_row_input: nebpyclient.api.rows.DeleteRowInput) → nebpyclient.api.rows.Row

Allows deletion of an existing row object

The deletion of a row is only possible if the row has no hosts (servers) associated with any child items. By default, deletion of a row is only allowed when it is not referenced by any racks or if the cascade parameter of the delete_row_input parameter is set to True.

Parameters:
  • uuid (str) – The unique identifier of the row to delete
  • delete_row_input (DeleteRowInput, optional) – A parameter that defines the delete behavior
Returns bool:

If the query was successful

Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_snapshot_schedule_template(uuid: str, force: bool = None) → bool

Allows deletion of an existing snapshot schedule template

Parameters:
  • uuid (str) – The unique identifier of the snapshot schedule template to delete
  • force (bool, optional) – Forces the deletion of the snapshot schedule template
Returns bool:

If the query was successful

Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_spu_info(spu_serial: str) → bool

Allows deletion of SPU information in nebulon ON

This method is available for use during troubleshooting and may be used during a support case. Nebulon recommends to only make use of this method when instructed by support.

Parameters:spu_serial (str) – The serial number of the SPU
Raises:GraphQLError – An error with the GraphQL endpoint.
Returns bool:If the delete operation was successful
delete_support_case_attachment(case_number: str, delete_input: nebpyclient.api.etickets.DeleteSupportCaseAttachmentInput) → nebpyclient.api.etickets.SupportCase

Allows deleting an attachment from a support case

Parameters:
Returns SupportCase:
 

The updated support case.

Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_user(uuid: str) → bool

Allows deletion of a user account

Parameters:uuid (str) – The unique identifier of the user that should be deleted
Returns bool:If the query was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_user_group(uuid: str) → bool

Allows deletion of a user group

Parameters:uuid (str) – The unique identifier of the user group that should be deleted
Returns bool:If the query was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_volume(uuid: str, cascade: bool = False, ignore_warnings: bool = False)

Allows deletion of a volume

Parameters:
  • uuid (str) – The unique identifier of the volume or snapshot to delete
  • cascade (bool, optional) – If set to True all associated snapshots will be deleted with the parent volume. If set to False, only this volume is deleted
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
delete_vsphere_credentials(npod_uuid: str, ignore_warnings: bool = False) → bool

Removes the vCenter credentials from the provided nPod

Parameters:
  • npod_uuid (str) – Unique identifier of the nPod
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns:
A boolean that indicates if the request was successfully sent to the services processing unit.
Returns bool:

If the request was successful

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
delete_webhook(uuid: str) → bool

Deletes an existing webhook

Parameters:uuid (str) – The unique identifier of the webhook to delete
Returns bool:If the deletion succeeded.
Raises:GraphQLError – An error with the GraphQL endpoint.
get_audit_log(page: nebpyclient.api.common.PageInput = None, audit_filter: nebpyclient.api.auditing.AuditLogFilter = None) → nebpyclient.api.auditing.AuditLogList

Retrieves a list of audit records

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • audit_filter (AuditLogFilter, optional) – A filter object to filter the audit records on the server. If omitted, the server will return all objects as a paginated response.
Returns AuditLogList:
 

A paginated list of audit records

Raises:

GraphQLError – An error with the GraphQL endpoint

get_audit_records(page: nebpyclient.api.common.PageInput = None, audit_filter: nebpyclient.api.auditing.AuditLogFilter = None) → nebpyclient.api.auditing.AuditLogList

Retrieves a list of audit records

Warning:

This method was deprecated and will be removed in future versions. Use the method get_audit_log instead.

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • audit_filter (AuditLogFilter, optional) – A filter object to filter the audit records on the server. If omitted, the server will return all objects as a paginated response.
Returns AuditLogList:
 

A paginated list of audit records

Raises:

GraphQLError – An error with the GraphQL endpoint

get_available_packages(page: nebpyclient.api.common.PageInput = None, available_packages_filter: nebpyclient.api.updates.AvailablePackagesFilter = None, sort: nebpyclient.api.updates.AvailablePackagesSort = None) → nebpyclient.api.updates.PackageInfoList

Retrieves a list of update packages

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • available_packages_filter (AvailablePackagesFilter, optional) – A filter object to filter the software packages on the server. If omitted, the server will return all objects as a paginated response.
  • sort (AvailablePackagesSort, optional) – A sort definition object to sort the software package objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns PackageInfoList:
 

A paginated list of software packages

Raises:

GraphQLError – An error with the GraphQL endpoint

get_datacenters(page: nebpyclient.api.common.PageInput = None, dc_filter: nebpyclient.api.datacenters.DataCenterFilter = None, sort: nebpyclient.api.datacenters.DataCenterSort = None) → nebpyclient.api.datacenters.DataCenterList

Retrieves a list of datacenter objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • dc_filter (DataCenterFilter, optional) – A filter object to filter the datacenters on the server. If omitted, the server will return all objects as a paginated response.
  • sort (DataCenterSort, optional) – A sort definition object to sort the datacenter objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns DataCenterList:
 

A paginated list of datacenters.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_historical_alerts(page: nebpyclient.api.common.PageInput = None, alert_filter: nebpyclient.api.alerts.AlertFilter = None) → nebpyclient.api.alerts.AlertList

Retrieves a list of historical alerts

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • alert_filter (AlertFilter, optional) – A filter object to filter the closed alerts on the server. If omitted, the server will return all objects as a paginated response.
Returns AlertList:
 

A paginated list of historical alerts.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_hosts(page: nebpyclient.api.common.PageInput = None, host_filter: nebpyclient.api.hosts.HostFilter = None, sort: nebpyclient.api.hosts.HostSort = None) → nebpyclient.api.hosts.HostList

Retrieves a list of host objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • host_filter (HostFilter, optional) – A filter object to filter the hosts on the server. If omitted, the server will return all objects as a paginated response.
  • sort (HostSort, optional) – A sort definition object to sort the host objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns HostList:
 

A paginated list of hosts.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_key_values(key_value_filter: nebpyclient.api.keyvalue.KeyValueFilter) → nebpyclient.api.keyvalue.KeyValueList

Retrieves a list of key value objects

Parameters:key_value_filter (KeyValueFilter) – A filter object to filter key value objects on the server.
Returns KeyValueList:
 A list of key value objects.
Raises:GraphQLError – An error with the GraphQL endpoint.
get_luns(page: nebpyclient.api.common.PageInput = None, lun_filter: nebpyclient.api.luns.LUNFilter = None, sort: nebpyclient.api.luns.LUNSort = None) → nebpyclient.api.luns.LUNList

Retrieves a list of LUN objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • lun_filter (LUNFilter, optional) – A filter object to filter the LUNs on the server. If omitted, the server will return all objects as a paginated response.
  • sort (LUNSort, optional) – A sort definition object to sort the LUN objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns LUNList:
 

A paginated list of LUNs.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_npod_groups(page: nebpyclient.api.common.PageInput = None, npod_group_filter: nebpyclient.api.npodgroups.NPodGroupFilter = None, sort: nebpyclient.api.npodgroups.NPodGroupSort = None) → nebpyclient.api.npodgroups.NPodGroupList

Retrieves a list of nPod group objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • npod_group_filter (NPodGroupFilter, optional) – A filter object to filter the items on the server. If omitted, the server will return all objects as a paginated response.
  • sort (NPodGroupSort, optional) – A sort definition object to sort the objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns NPodGroupList:
 

A paginated list of nPod groups.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_npod_recipes(npod_recipe_filter: nebpyclient.api.recipe.NPodRecipeFilter) → nebpyclient.api.recipe.RecipeRecordList

Retrieves a list of recipes

Recipes are the result of mutations of mutations or modifications of on-premises infrastructure. As commands may require some time to complete, the recipe filter allows the query for their status.

Parameters:npod_recipe_filter (NPodRecipeFilter) – A filter object to filter recipes
Returns RecipeRecordList:
 A paginated list of recipes.
Raises:GraphQLError – An error with the GraphQL endpoint.
get_npod_templates(page: nebpyclient.api.common.PageInput = None, template_filter: nebpyclient.api.npodtemplates.NPodTemplateFilter = None, sort: nebpyclient.api.npodtemplates.NPodTemplateSort = None) → nebpyclient.api.npodtemplates.NPodTemplateList

Retrieve a list of provisioned nPod templates

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • template_filter (NPodTemplateFilter, optional) – A filter object to filter the nPod templates on the server. If omitted, the server will return all objects as a paginated response.
  • sort (NPodTemplateSort, optional) – A sort definition object to sort the nPod template objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns NPodTemplateList:
 

A paginated list of nPod templates.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_npods(page: nebpyclient.api.common.PageInput = None, npod_filter: nebpyclient.api.npods.NPodFilter = None, sort: nebpyclient.api.npods.NPodSort = None) → nebpyclient.api.npods.NPodList

Retrieve a list of provisioned nPods

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • npod_filter (NPodFilter, optional) – A filter object to filter the nPods on the server. If omitted, the server will return all objects as a paginated response.
  • sort (NPodSort, optional) – A sort definition object to sort the nPod objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns NPodList:
 

A paginated list of nPods.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_open_alerts(page: nebpyclient.api.common.PageInput = None, alert_filter: nebpyclient.api.alerts.AlertFilter = None) → nebpyclient.api.alerts.AlertList

Retrieves a list of open alerts. Will still fetch open alerts even if status field in alert_filter is set to ‘Closed’.

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • alert_filter (AlertFilter, optional) – A filter object to filter the open alerts on the server. If omitted, the server will return all objects as a paginated response. This query ignores the status property of the filter and only returns open alerts.
Returns AlertList:
 

A paginated list of open alerts.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_physical_drive_updates(page: nebpyclient.api.common.PageInput = None, pd_updates_filter: nebpyclient.api.physicaldrives.PhysicalDriveUpdatesFilter = None, sort: nebpyclient.api.physicaldrives.PhysicalDriveUpdatesSort = None) → nebpyclient.api.physicaldrives.PhysicalDriveUpdatesList

Retrieves a list of physical drive update objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • pd_updates_filter (PhysicalDriveUpdatesFilter, optional) – A filter object to filter the physical drive updates on the server. If omitted, the server will return all objects as a paginated response.
  • sort (PhysicalDriveUpdatesSort, optional) – A sort definition object to sort the physical drive update objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns PhysicalDriveUpdatesList:
 

A paginated list of physical drive updates.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_physical_drives(page: nebpyclient.api.common.PageInput = None, pd_filter: nebpyclient.api.physicaldrives.PhysicalDriveFilter = None, sort: nebpyclient.api.physicaldrives.PhysicalDriveSort = None) → nebpyclient.api.physicaldrives.PhysicalDriveList

Retrieves a list of physical drive objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • pd_filter (PhysicalDriveFilter, optional) – A filter object to filter the physical drives on the server. If omitted, the server will return all objects as a paginated response.
  • sort (PhysicalDriveSort, optional) – A sort definition object to sort the physical drive objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns PhysicalDriveList:
 

A paginated list of physical drives.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_racks(page: nebpyclient.api.common.PageInput = None, rack_filter: nebpyclient.api.racks.RackFilter = None, sort: nebpyclient.api.racks.RackSort = None) → nebpyclient.api.racks.RackList

Retrieves a list of rack objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • rack_filter (RackFilter, optional) – A filter object to filter the racks on the server. If omitted, the server will return all objects as a paginated response.
  • sort (RackSort, optional) – A sort definition object to sort the racks on supported properties. If omitted objects are returned in the order as they were created in.
Returns RackList:
 

A paginated list of racks in a datacenter.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_rbac_policies(page: nebpyclient.api.common.PageInput = None, rbac_filter: nebpyclient.api.rbac.RBACPolicyFilter = None, sort: nebpyclient.api.rbac.RBACPolicySort = None) → nebpyclient.api.rbac.RBACPolicyList

Retrieves a list of RBAC policy objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • rbac_filter (RBACPolicyFilter, optional) – A filter object to filter the RBAC policies on the server. If omitted, the server will return all objects as a paginated response.
  • sort (RBACPolicySort, optional) – A sort definition object to sort the RBAC policies on supported properties. If omitted objects are returned in the order as they were created in.
Returns RBACPolicyList:
 

A paginated list of RBAC policies.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_rbac_roles(page: nebpyclient.api.common.PageInput = None, rbac_filter: nebpyclient.api.rbac.RBACRoleFilter = None, sort: nebpyclient.api.rbac.RBACRoleSort = None) → nebpyclient.api.rbac.RBACRoleList

Retrieves a list of RBAC role objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • rbac_filter (RBACRoleFilter, optional) – A filter object to filter the RBAC roles on the server. If omitted, the server will return all objects as a paginated response.
  • sort (RBACRoleSort, optional) – A sort definition object to sort the RBAC roles on supported properties. If omitted objects are returned in the order as they were created in.
Returns RBACRoleList:
 

A paginated list of RBAC roles.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_rooms(page: nebpyclient.api.common.PageInput = None, room_filter: nebpyclient.api.rooms.RoomFilter = None, sort: nebpyclient.api.rooms.RoomSort = None) → nebpyclient.api.rooms.RoomList

Retrieves a list of datacenter room objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • room_filter (RoomFilter, optional) – A filter object to filter the datacenter rooms on the server. If omitted, the server will return all objects as a paginated response.
  • sort (RoomSort, optional) – A sort definition object to sort the datacenter rooms on supported properties. If omitted objects are returned in the order as they were created in.
Returns RoomList:
 

A paginated list of datacenter rooms.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_rows(page: nebpyclient.api.common.PageInput = None, row_filter: nebpyclient.api.rows.RowFilter = None, sort: nebpyclient.api.rows.RowSort = None) → nebpyclient.api.rows.RowList

Retrieves a list of row objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • row_filter (RowFilter, optional) – A filter object to filter the row on the server. If omitted, the server will return all objects as a paginated response.
  • sort (RowSort, optional) – A sort definition object to sort the row on supported properties. If omitted objects are returned in the order as they were created in.
Returns RowList:
 

A paginated list of rows in a datacenter.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_session_state() → nebpyclient.api.session.LoginState

Allows querying for the current login state

Returns LoginState:
 Session state
Raises:GraphQLError – An error with the GraphQL endpoint.
get_snapshot_schedule_templates(page: nebpyclient.api.common.PageInput = None, template_filter: nebpyclient.api.snapshots.SnapshotScheduleTemplateFilter = None, sort: nebpyclient.api.snapshots.SnapshotScheduleTemplateSort = None) → nebpyclient.api.snapshots.SnapshotScheduleTemplateList

Retrieves a list of snapshot schedule template objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • template_filter (SnapshotScheduleTemplateFilter, optional) – A filter object to filter the snapshot schedule template objects on the server. If omitted, the server will return all objects as a paginated response.
  • sort (SnapshotScheduleTemplateSort, optional) – A sort definition object to sort the snapshot schedule template objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns SnapshotScheduleTemplateList:
 

A paginated list of snapshot schedule templates.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_snapshot_schedules(npod_uuid: str)

Retrieves a list of provisioned snapshot schedules on an nPod

Parameters:npod_uuid (str) – The unique identifier of the nPod from which the snapshot schedules shall be retrieved.
Returns [NPodSnapshotSchedule]:
 A list of snapshot schedules
Raises:GraphQLError – An error with the GraphQL endpoint.
get_spu_custom_diagnostics(spu_serial: str) → [nebpyclient.api.spus.SpuCustomDiagnostic]

Retrieves a list of custom diagnostic command requests

Custom diagnostic command requests are used by customer satisfaction teams to run arbitrary troubleshooting commands on SPUs. These require user confirmation.

Parameters:spu_serial (str) – The serial number for which to query for custom diagnostic command requests
Returns [SpuCustomDiagnostic]:
 A list of custom diagnostic command requests.
Raises:GraphQLError – An error with the GraphQL endpoint.
get_spus(page: nebpyclient.api.common.PageInput = None, spu_filter: nebpyclient.api.spus.SpuFilter = None, sort: nebpyclient.api.spus.SpuSort = None) → nebpyclient.api.spus.SpuList

Retrieves a list of SPUs

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • spu_filter (SpuFilter, optional) – A filter object to filter the SPUs on the server. If omitted, the server will return all objects as a paginated response.
  • sort (SpuSort, optional) – A sort definition object to sort the SPU objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns SpuList:
 

A paginated list of SPUs

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_support_cases(page: nebpyclient.api.common.PageInput = None, sc_filter: nebpyclient.api.etickets.SupportCaseFilter = None, sort: nebpyclient.api.etickets.SupportCaseSort = None) → nebpyclient.api.etickets.SupportCaseList

Retrieves a list of support cases

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • sc_filter (SupportCaseFilter, optional) – A filter object to filter support cases on the server. If omitted, the server will return all objects as a paginated response.
  • sort (SupportCaseSort, optional) – A sort definition object to sort support case objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns SupportCaseList:
 

A paginated list of support cases.

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_update_state(npod_uuid: str = None, update_uuid: str = None) → [nebpyclient.api.updates.UpdateStateSpu]

Retrieves a list of active updates

Allows querying for currently ongoing updates and their status information.

Parameters:
  • npod_uuid (str) – Filter active updates for a specific nPod by providing its unique identifier
  • update_uuid (str) – The unique identifier of an ongoing update
Returns [UpdateStateSpu]:
 

A list of ongoing updates

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_user_groups(page: nebpyclient.api.common.PageInput = None, user_group_filter: nebpyclient.api.usergroups.UserGroupFilter = None, sort: nebpyclient.api.usergroups.UserGroupSort = None) → nebpyclient.api.usergroups.UserGroupList

Retrieves a list of user group objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • user_group_filter (UserGroupFilter, optional) – A filter object to filter the user group objects on the server. If omitted, the server will return all objects as a paginated response.
  • sort (UserGroupSort, optional) – A sort definition object to sort the user group objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns UserGroupList:
 

A paginated list of user groups

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_users(page: nebpyclient.api.common.PageInput = None, user_filter: nebpyclient.api.users.UserFilter = None, sort: nebpyclient.api.users.UserSort = None) → nebpyclient.api.users.UserList

Retrieves a list of user objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • user_filter (UserFilter, optional) – A filter object to filter the user objects on the server. If omitted, the server will return all objects as a paginated response.
  • sort (UserSort, optional) – A sort definition object to sort the user objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns UserList:
 

A paginated list of users

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_volumes(page: nebpyclient.api.common.PageInput = None, volume_filter: nebpyclient.api.volumes.VolumeFilter = None, sort: nebpyclient.api.volumes.VolumeSort = None) → nebpyclient.api.volumes.VolumeList

Retrieves a list of volumes

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • volume_filter (VolumeFilter, optional) – A filter object to filter the volumes on the server. If omitted, the server will return all objects as a paginated response.
  • sort (VolumeSort, optional) – A sort definition object to sort the volume objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns VolumeList:
 

A paginated list of volumes

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_vsphere_credentials(page: nebpyclient.api.common.PageInput = None, credential_filter: nebpyclient.api.vsphere.VsphereCredentialsFilter = None) → nebpyclient.api.vsphere.VsphereCredentialsList

Retrieves a list of vCenter credentials

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • credential_filter (VsphereCredentialsFilter, optional) – A filter object to filter the vSphere credentials on the server. If omitted, the server will return all objects as a paginated response.
Returns SpuList:
 

A paginated list of vCenter credential entries. For security reasons, the passwords are not stored in nebulon ON and therefore not retrievable via the API even though they are set.

Raises:
GraphQLError: An error with the GraphQL endpoint.
get_webhooks(page: nebpyclient.api.common.PageInput = None, webhook_filter: nebpyclient.api.webhooks.WebHookFilter = None, sort: nebpyclient.api.webhooks.WebHookSort = None) → nebpyclient.api.webhooks.WebHookList

Retrieves a list of webhooks

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • webhook_filter (WebHookFilter, optional) – A filter object to filter the webhooks on the server. If omitted, the server will return all objects as a paginated response.
  • sort (WebHookSort, optional) – A sort definition object to sort the webhook objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns WebHookList:
 

A paginated list of webhooks.

Raises:

GraphQLError – An error with the GraphQL endpoint.

locate_physical_drive(locate_pd_input: nebpyclient.api.physicaldrives.LocatePhysicalDriveInput, ignore_warnings: bool = False)

Turn on the locate LED of a physical drive

Parameters:
  • locate_pd_input (LocatePhysicalDriveInput) – A parameter describing the target physical drive and duration of locate.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When token delivery to the relevant SPU fails
login(username: str, password: str) → nebpyclient.api.session.LoginResults

Login to nebulon ON

Parameters:
  • username (str) – nebulon ON username
  • password (str) – nebulon ON password
Returns LoginResults:
 

Login request result

Raises:

GraphQLError – An error with the GraphQL endpoint.

logout() → bool

Logout from nebulon ON

Returns bool:If the logout request was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
ping_spu(spu_serial: str, ignore_warnings: bool = False)

Turns on the locate LED pattern of the SPU

Allows identification of an SPU in the servers by turning on the locate LED pattern for the SPU. Please consult the nebulon documentation for the LED blink patterns. This can also be used to test the security triangle without impacting any configuration or workloads.

Parameters:
  • spu_serial (str) – The serial number of the SPU
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
release_spu(spu_serial: str, ignore_warnings: bool = False)

Removes an SPU from an organization

Parameters:
  • spu_serial (str) – The serial number of the SPU
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
remove_snapshot_schedule_template(schedule_uid: str, ignore_warnings: bool = False) → bool

Allows removal of an existing snapshot schedule from a nPod or SPU

Parameters:
  • schedule_uid (str) – The unique identifier of the snapshot schedule template to delete
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns bool:

If the query was successful

Raises:

GraphQLError – An error with the GraphQL endpoint.

replace_spu(replace_spu_input: nebpyclient.api.spus.ReplaceSpuInput, ignore_warnings: bool = False)

Allows replacing an SPU

The replace services processing unit (SPU) operation is used to transition the configuration of an old, likely failed, SPU to a new replacement unit and allows modifying the configuration during the process.

Parameters:
  • replace_spu_input (ReplaceSpuInput) – An input object describing the parameters for SPU replacement
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
run_custom_diagnostics(spu_serial: str = None, npod_uuid: str = None, diagnostic_name: str = None, request_uuid: str = None, ignore_warnings: bool = False)

Allows running custom diagnostic commands

SPU custom diagnostics requests allows customers to run arbitrary diagnostic commands on the services processing units as part of troubleshooting issues during a support case.

Parameters:
  • spu_serial (str, optional) – The serial number of the SPU on which to run diagnostic
  • npod_uuid (str, optional) – The unique identifier of the nPod on which to run diagnostic
  • diagnostic_name (str, optional) – The name of the diagnostic to run
  • request_uuid (str, optional) – The unique identifier of the custom diagnostic request to run
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
secure_erase_spu(spu_serial: str, ignore_warnings: bool = False)

Allows to secure-erase data on a services processing unit (SPU)

The secure erase functionality allows a deep-erase of data stored on the physical drives attached to the SPU. Only SPUs that are not part of a nPod can be secure-erased.

Parameters:
  • spu_serial (str) – The serial number of the SPU to secure-erase
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
set_key_value(upsert_key_value_input: nebpyclient.api.keyvalue.UpsertKeyValueInput) → bool

Set a key value entry for a resource

Allows adding metadata to various resources in nebulon ON in the form of key value pairs. This metadata can be used by customers to add arbitrary text information to resources that are not part of the default resource properties.

Parameters:upsert_key_value_input (UpsertKeyValueInput) – Input parameters to create a new key/value pair of update an existing one.
Returns bool:Indicator if the query was successful.
Raises:GraphQLError – An error with the GraphQL endpoint.
set_npod_timezone(uuid: str, set_npod_timezone_input: nebpyclient.api.npods.SetNPodTimeZoneInput, ignore_warnings: bool = False)

Allows setting the timezone for all SPUs in an nPod

Parameters:
  • uuid (str) – The unique identifier of the nPod that is being modified.
  • set_npod_timezone_input (SetNPodTimeZoneInput) – A parameter describing the timezone information that shall be applied to the SPUs in the nPod.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When there were issues delivering the security token to affected SPUs.
set_ntp_servers(ntp_servers_input: nebpyclient.api.spus.SetNTPServersInput, ignore_warnings: bool = False)

Allows configuring the NTP server for an SPU or nPod

All services processing units us a default NTP server. In some situations customers may use their own NTP servers for their datacenter infrastructure. This mutation allows them to configure the NTP servers for their SPUs or nPod.

Parameters:
  • ntp_servers_input (SetNTPServersInput) – The NTP Server configuration to use
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
set_proxy(spu_serial: str, proxy: str, ignore_warnings: bool = False)

Allows configuring a proxy server for an SPU

Parameters:
  • spu_serial (str) – The serial number of the SPU
  • proxy (str) – The proxy server IP address
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
set_vsphere_credentials(npod_uuid: str, credentials_input: nebpyclient.api.vsphere.UpsertVsphereCredentialsInput, ignore_warnings: bool = False) → bool

Sets vCenter credentials for the provided nPod

Parameters:
  • npod_uuid (str) – Unique identifier of the nPod
  • credentials_input (UpsertVsphereCredentialsInput) – An input object describing the credentials to configure for the provided nPod
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns bool:

If the request was successful

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
shutdown_spu(spu_serial: str, ignore_warnings: bool = False)

Allows shutting down a services processing unit (SPU)

This method is used during planned SPU replacement where the SPU needs to be shut down so that it no longer serves IO to the host. Only use this method when instructed by customer support.

Parameters:
  • spu_serial (str) – The serial number of the SPU to shut down
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
test_webhook(test_webhook_input: nebpyclient.api.webhooks.TestWebHookInput) → nebpyclient.api.webhooks.TestWebHookResponse

Test a webhook

Allows testing existing, new, or updates to webhooks before they are permanently stored in the cloud. When create is specified, neither uuid or update should be specified.

Parameters:test_webhook_input (TestWebHookInput) – An input object that defines the webhook to be tested
Returns TestWebHookResponse:
 The results of the test
Raises:GraphQLError – An error with the GraphQL endpoint.
update_datacenter(uuid: str, update_input: nebpyclient.api.datacenters.UpdateDataCenterInput) → nebpyclient.api.datacenters.DataCenter

Allows updating properties of an existing datacenter object

Parameters:
  • uuid (str) – The unique identifier of the datacenter to update
  • update_input (UpdateDataCenterInput) – A property definition for the datacenter updates
Returns DataCenter:
 

The updated datacenter object.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_host(uuid: str, host_input: nebpyclient.api.hosts.UpdateHostInput)

Allows updating properties of a host object

Parameters:
  • uuid (str) – The unique identifier of the host to update
  • host_input (UpdateHostInput) – The update object, describing the changes to apply to the host
update_npod_firmware(npod_uuid: str, package_name: str, schedule_at: datetime.datetime = None, ignore_warnings: bool = False)

Update nPod firmware to specified package

Parameters:
  • npod_uuid (str) – The unique identifier of the nPod to update
  • package_name (str) – The name of the package to install
  • schedule_at (datetime, optional) – Allows scheduling the installation of a package at the specified date and time. If omitted, the package will be installed immediately
  • ignore_warnings (bool, optional) – If specified warnings that are discovered during the update pre-check are ignored (not recommended). If omitted or set to False will cause the update to stop.
Raises:
  • GraphQLError – An error with the GraphQL endpoint
  • Exception – If token delivery fails
update_npod_group(uuid: str, update_npod_group_input: nebpyclient.api.npodgroups.UpdateNPodGroupInput) → nebpyclient.api.npodgroups.NPodGroup

Allows updating new nPod group object properties

Allows updating of an existing nPod group object in nebulon ON. A nPod group allows logical grouping of nPods into security domains. Each nPod group can receive custom security policies.

Parameters:
  • uuid (str) – The unique identifier of the nPod group to update
  • update_npod_group_input (UpdateNPodGroupInput) – Input parameter that describes the changes that shall be made to the nPod group
Returns NPodGroup:
 

The updated nPod group.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_npod_immutable_boot(uuid: str, immutable_boot_volumes_input: nebpyclient.api.npods.UpdateImmutableBootInput, ignore_warnings: bool = False) → nebpyclient.api.npods.NPod

Parameters for updating an nPod :param uuid: The unique identifier of the nPod to update. :type uuid: str :param immutable_boot_volumes: Enables or disables immutable boot volumes. :type immutable_boot_volumes: UpdateImmutableBootInput :param ignore_warnings: If specified and set to True the operation

will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns NPod:

The nPod to witch the token was sent

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When nebulon ON reports validation errors or warnings and the ignore_warnings parameter is not set to True or if the update nPod members times out.
update_npod_members(uuid: str, update_npod_members_input: nebpyclient.api.npods.UpdateNPodMembersInput, ignore_warnings: bool = False) → nebpyclient.api.npods.NPod

Allows expanding an existing nPod with additional SPUs

The update nPod members operation is used to expand the existing nPod (identified by uuid) with the given services processing units (SPU) passed by update nPod members input.

Parameters:
  • uuid (str) – The unique identifier of the nPod to update.
  • update_npod_members_input (UpdateNPodMembersInput) – An input object describing the parameters for updating nPod
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns NPod:

The new nPod

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When nebulon ON reports validation errors or warnings and the ignore_warnings parameter is not set to True or if the update nPod members times out.
update_npod_template(update_npod_template_input: nebpyclient.api.npodtemplates.UpdateNPodTemplateInput) → nebpyclient.api.npodtemplates.NPodTemplate

Update nPod template properties

Every change to a nPod template will create a new version of the template and generate a new unique identifier (uuid). The parent / original nPod template is accessible via the nPod template parent_uuid property.

Parameters:update_npod_template_input (UpdateNPodTemplateInput) – A parameter that describes all modifications to make on a selected nPod template. The target nPod template is identified by the name property of the supplied UpdateNPodTemplateInput object.
Returns NPodTemplate:
 The updated nPod template
Raises:GraphQLError – An error with the GraphQL endpoint.
update_physical_drive_firmware(update_pd_firmware_input: nebpyclient.api.physicaldrives.UpdatePhysicalDriveFirmwareInput, ignore_warnings: bool = False)

Update the firmware of physical drives

Parameters:
  • update_pd_firmware_input (UpdatePhysicalDriveFirmwareInput) – A parameter describing the details of the update that identifies the physical drive targets
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – When token delivery to the relevant SPU fails
update_rack(uuid: str, update_rack_input: nebpyclient.api.racks.UpdateRackInput) → nebpyclient.api.racks.Rack

Allows updating properties of an existing rack object

At least one property must be specified.

Parameters:
  • uuid (str) – The unique identifier of the rack to update
  • update_rack_input (UpdateRackInput) – A parameter describing all changes to apply to the rack that is identified by the uuid parameter
Returns Rack:

The updated rack object.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_rbac_policy(uuid: str, update_rbac_policy_input: nebpyclient.api.rbac.UpdateRBACPolicyInput) → nebpyclient.api.rbac.RBACPolicy

Allows updating of RBAC policy properties

Policies in role-based access control associate RBAC roles with users and resources in nebulon ON. Scopes can be added and removed from policies, users and user groups can be added and removed from policies. Nebulon ON will not allow two policies with the same definition.

Parameters:
  • uuid (str) – The RBAC policy unique identifier to update
  • update_rbac_policy_input (UpdateRBACPolicyInput) – A parameter that describes the modifications to make to the RBAC policy identified by uuid.
Returns RBACPolicy:
 

The updated RBAC policy

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_rbac_role(uuid: str, update_rbac_role_input: nebpyclient.api.rbac.UpdateRBACRoleInput) → nebpyclient.api.rbac.RBACRole

Allows updating of RBAC role properties

Roles in role-based access control define a set of permissions (rights) that can be assigned to user groups according to their responsibilities. Rights can be added and removed if these responsibilities change and propagate to any user that is associated with a role.

Parameters:update_rbac_role_input (UpdateRBACRoleInput) – A parameter that describes the changes to apply to the RBAC role identified by uuid.
Returns RBACRole:
 The new RBAC role.
Raises:GraphQLError – An error with the GraphQL endpoint.
update_room(uuid: str, update_room_input: nebpyclient.api.rooms.UpdateRoomInput) → nebpyclient.api.rooms.Room

Allows updating properties of an existing datacenter room object

At least one property must be specified.

Parameters:
  • uuid (str) – The unique identifier of the datacenter room to update
  • update_room_input (UpdateRoomInput) – An input parameter that describes the changes to make to the datacenter room
Returns Room:

The updated datacenter room object.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_row(uuid: str, update_row_input: nebpyclient.api.rows.UpdateRowInput)

Allows updating properties of an existing datacenter room object

At least one property must be specified.

Parameters:
  • uuid (str) – The unique identifier of the row to update
  • update_row_input (UpdateRowInput) – A parameter that describes the changes to make to the referenced row.
Returns Room:

The updated datacenter room object.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_snapshot_schedule_template(uuid: str, update_template_input: nebpyclient.api.snapshots.UpdateSnapshotScheduleTemplateInput) → nebpyclient.api.snapshots.SnapshotScheduleTemplate

Allows updating the properties of a snapshot schedule template

Allows updating of snapshot schedule template properties. Snapshot schedule templates are used to consistently provision snapshot schedules across nPods. They are referenced in nPod templates and are provisioned when a nPod is formed from such a template.

Parameters:
  • uuid (str) – The unique identifier of the snapshot schedule template to update
  • update_template_input (UpdateSnapshotScheduleTemplateInput) – A parameter that describes the changes to apply to the snapshot schedule template that is identified by the provided uuid.
Returns SnapshotScheduleTemplate:
 

The updated snapshot schedule template

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_spu_firmware(spu_serial: str, package_name: str, force: bool = False, ignore_warnings: bool = False)

Update nebOS of a SPU to a specific package

This method is executed asynchronously and does not wait for the update to complete.

Parameters:
  • spu_serial (str) – The serial number of the SPU to update
  • package_name (str) – The name of the update package to install
  • force (bool) – If set to True the update will bypass any safeguards
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – If token delivery failed
update_support_case(case_number: str, update_input: nebpyclient.api.etickets.UpdateSupportCaseInput) → nebpyclient.api.etickets.SupportCase

Allows updating an existing support case

Parameters:
  • case_number (str) – The case number of the support case to update
  • update_input (UpdateSupportCaseInput) – A definition of the updates to make to the support case
Returns SupportCase:
 

The updated support case.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_user(uuid: str, update_user_input: nebpyclient.api.users.UpdateUserInput) → nebpyclient.api.users.User

Allow updating properties of an existing user

Parameters:
  • uuid (str) – The unique identifier of the user that should be updated
  • update_user_input (UpdateUserInput) – An input object that describes the changes to apply to the user account
Returns User:

The updated user account

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_user_group(uuid: str, update_user_group_input: nebpyclient.api.usergroups.UpdateUserGroupInput) → nebpyclient.api.usergroups.UserGroup

Allow updating properties of an existing user group

Parameters:
  • uuid (str) – The unique identifier of the user group to update
  • update_user_group_input (UpdateUserGroupInput) – An input object that describes the changes to apply to the user group
Returns UserGroup:
 

The updated user group

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_volume(uuid: str, update_volume_input: nebpyclient.api.volumes.UpdateVolumeInput, ignore_warnings: bool = False)

Allows deletion of a volume

Parameters:
  • uuid (str) – The unique identifier of the volume or snapshot to delete
  • update_volume_input (UpdateVolumeInput) – An input object that describes the changes to apply to the volume
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU
update_webhook(uuid: str, update_webhook_input: nebpyclient.api.webhooks.UpdateWebHookInput) → nebpyclient.api.webhooks.WebHook

Updates an existing webhook

Webhooks allow integration with notification services and workflow engines. When configured, webhooks are triggered for opened and closed alerts with the specified webhook payload.

Parameters:
  • uuid (str) – The unique identifier of the webhook to update
  • update_webhook_input (UpdateWebHookInput) – The definition for updates to be made for the webhook
Returns WebHook:
 

The updated webhook.

Raises:

GraphQLError – An error with the GraphQL endpoint.

upload_support_case_attachment(case_number: str, file_path: str) → nebpyclient.api.etickets.SupportCase

Allows uploading and attaching files to a support case

Parameters:
  • case_number (str) – The case number of the support case to update
  • file_path (str) – The absolute path to the file to upload
Returns SupportCase:
 

The updated support case.

Raises:

GraphQLError – An error with the GraphQL endpoint.

upsert_lom_credentials(lom_credentials_input: nebpyclient.api.lom.UpsertLomCredentialsInput, ignore_warnings: bool = False) → bool

Set LOM credentials for a host

Allows configuration of the Lights Out Management information for a host. Once credentials are configured, the server management features are enabled, controlling server power status and server inventory.

Sensitive information is stored in encrypted formats on Services Processing Units in customers data centers only.

Parameters:
  • lom_credentials_input (UpsertLomCredentialsInput) – An input object describing the credentials to configure.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns bool:

If the request was successful.

Raises:
  • GraphQLError – An error with the GraphQL endpoint.
  • Exception – An error when delivering a token to the SPU.

General

nebpyclient.api.common.read_value(key_path: str, data: dict, data_type: type, mandatory=True) → any

Helper function to extract values from a response dict

Allows extraction of nested values from a dict for convenience. This also allows for type checking and for validating that mandatory properties were supplied.

Parameters:
  • key_path (str) – A JSONPath-like path to a value in the dictionary. Each hierarchy is separated via a dot. Example: parent_key.child_key will lookup a value in the provided dict data["parent_key"]["child_key"]
  • data (dict) – A dict of values, typically JSON returned from the nebulon ON API. Values will be looked up in this dict
  • data_type (type) – The expected data type for the lookup value. If the lookup value is a list, the expected element type shall be supplied.
  • mandatory – Indicates if the lookup value must be provided. If set to True the lookup value must not be None or a ValueError is raised.
Returns any:

Returns the value in the dict (if found) that is identified via the provided key_path. If the value is not found or if the value is None while marked as mandatory, a ValueError is raised.

Raises:
  • ValueError – If the value indicated by key_path is not found in the supplied data parameter, if the lookup value is None while it is a mandatory value.
  • TypeError – If the data type of the value found by key_path in the provided data parameter is not matching the data type that is provided in the parameter data_type.
nebpyclient.api.common.time_to_str(value: datetime.datetime) → str

Convert a datetime object to a JSON (JavaScript) string

Formats the provided datetime object to a str that is compliant with the JSON schema. Example: 2020-01-01T10:10:10Z.

Parameters:value (datetime) – The datetime object to convert
Raises:ValueError – If the provided value is not a valid datetime object
Returns str:The JSON (JavaScript) compliant version of the date and time
nebpyclient.api.common.parse_time(value: str) → datetime.datetime

Parse and convert JSON encoded string to a datetime object

Parses a str and converts it to a datetime object. If the string is not a valid JSON (JavaScript) encoded datetime object, this function will return the minimum datetime value (datetime.min).

Parameters:value (str) – The string value to parse
Returns datetime:
 A datetime version of the provided JSON-time string
class nebpyclient.api.common.NebEnum

An enumeration that is used in nebulon ON

This enumeration is used as a parent class to provide convenience functions for encoding and decoding enumerations that are defined in nebulon ON.

class nebpyclient.api.common.PageInput(page: int = 1, count: int = 100)

Defines input properties for pagination

Allows specifying which page to return from the server for API calls that support pagination. It allows to specify the page number and the quantity of items to return in the page. Default values for a page are page number 1 and 100 items per page.

count

Specifies the maximum number of items to include per page

page

Specifies the page number to return

class nebpyclient.api.common.DateFormat

Defines available date and time format options

Examples:

  • ANSIC: Mon Jan _2 15:04:05 2006
  • UnixDate: Mon Jan _2 15:04:05 MST 2006
  • RubyDate: Mon Jan 02 15:04:05 -0700 2006
  • RFC822: 02 Jan 06 15:04 MST
  • RFC822Z: 02 Jan 06 15:04 -0700
  • RFC850: Monday, 02-Jan-06 15:04:05 MST
  • RFC1123: Mon, 02 Jan 2006 15:04:05 MST
  • RFC1123Z: Mon, 02 Jan 2006 15:04:05 -0700
  • RFC3339: 2006-01-02T15:04:05Z07:00
  • RFC3339Nano: 2006-01-02T15:04:05.999999999Z07:00
  • Kitchen: 3:04PM
  • Stamp: Jan _2 15:04:05
  • StampMilli: Jan _2 15:04:05.000
  • StampMicro: Jan _2 15:04:05.000000
  • StampNano: Jan _2 15:04:05.000000000
class nebpyclient.api.common.ResourceType

Defines a resource type in a nebulon infrastructure

Datacenter = 'Datacenter'

A datacenter location information resource

Disk = 'Disk'

A physical drive or physical disk resource

Host = 'Host'

A server or host resource

NetworkInterface = 'NetworkInterface'

A network interface

Pod = 'Pod'

A nPod resource

PodGroup = 'PodGroup'

A group of nPods

Rack = 'Rack'

A rack in a datacenter row

Room = 'Room'

A room or lab in a datacenter

Row = 'Row'

A row in a datacenter

SPU = 'SPU'

A services processing unit

Snapshot = 'Snapshot'

A point-in-time checkpoint of a storage volume

Unknown = 'Unknown'

The resource type is not known

VM = 'VM'

A virtual machine

Volume = 'Volume'

A storage volume

class nebpyclient.api.filters.IntFilter(equals: int = None, not_equals: int = None, less_than: int = None, less_than_equals: int = None, greater_than: int = None, greater_than_equals: int = None, in_list: [<class 'int'>] = None, and_filter=None, or_filter=None)

A filter object to filter items based on int values.

and_filter

Allows concatenation with another int filter with a logical AND

equals

Filters values with a == comparison

greater_than

Filters values with a > comparison

greater_than_equals

Filters values with a >= comparison

in_filter

Matches if an int is on of a provided list of values

less_than

Filters values with a < comparison

less_than_equals

Filters values with a <= comparison

not_equals

Filters values with a != comparison

or_filter

Allows concatenation with another int filter with a logical OR

class nebpyclient.api.filters.StringFilter(equals: str = None, not_equals: str = None, contains: str = None, not_contains: str = None, begins_with: str = None, ends_with: str = None, regex: str = None, in_list: [<class 'str'>] = None, and_filter=None, or_filter=None)

A filter object to filter items based on str values.

and_filter

Allows concatenation with another string filter with a logical AND

begins_with

Matches if a string begins with a provided value

contains

Matches if a string contains a provided value

ends_with

Matches if a string ends with a provided value

equals

Filters strings by an exact match

in_filter

Matches if a string is on of a provided list of values

not_contains

Matches if a string does not contain a provided value

not_equals

Filters strings by not being an exact match

or_filter

Allows concatenation with another string filter with a logical OR

regex

Matches by use of a regular expression

class nebpyclient.api.filters.UUIDFilter(equals: str = None, not_equals: str = None, in_filter: [<class 'str'>] = None, and_filter=None, or_filter=None)

A filter object to filter on UUID values

and_filter

Allows concatenation with another UUID filter with a logical AND

equals

Filters UUIDs by being an exact match

in_filter

Matches if a UUID is on of a provided list of values

not_equals

Filters UUIDs by not being an exact match

or_filter

Allows concatenation with another UUID filter with a logical OR

class nebpyclient.api.issues.IssueInstance(response: dict)

An issue instance

Issue instances describe issues with certain nebulon ON commands as part of a pre-execution step. Issues can be of type warning or errors. Warnings may be ignored (although not recommended), whereas errors are blocking users from continuing with the main execution.

message

Error or warning message of the issue instance

spu_serials

List of SPU serial numbers associated with the issue instance

class nebpyclient.api.issues.Issues(response: dict)

List of issue instances

Issues describe issues with certain nebulon ON commands as part of a pre-execution step. Issues can be of type warning or errors. Warnings may be ignored (although not recommended), whereas errors are blocking users from continuing with the main execution.

assert_no_issues(ignore_warnings: bool = False)

Utility method to check for issues

Method checks if there are any warnings or errors present in the list of issues. If there are any issues of type error, an exception is raised. If there are any warnings and ignore_warnings is set to False an exception is thrown, if set to True, warnings are ignored.

Parameters:ignore_warnings (bool, optional) – If set to True warnings are silently ignored. By default warnings are not ignored.
Raises:Exception – If there are errors or warnings (and warnings are not ignored)
errors

List or errors. Errors need to be resolved before continuing

warnings

List of warnings. Warnings can be ignored although not recommended

class nebpyclient.api.metadata.MetaValue(response: dict)

Metadata information that describes API options

actual

Actual value

description

Description of the value

class nebpyclient.api.metadata.Metadata(response: dict)

Metadata information that describes resources in the nebulon ON API

rbac

Metadata information for role-based access control

class nebpyclient.api.metadata.MetadataMixin

Mixin to add metadata related methods to the GraphQL client

get_metadata() → nebpyclient.api.metadata.Metadata

Retrieves metadata information describing the nebulon ON API

Returns Metadata:
 Metadata information object that describes various aspects of the nebulon ON API
Raises:GraphQLError – An error with the GraphQL endpoint.
class nebpyclient.api.metadata.RBACMetadata(response: dict)

Metadata information for role-based access control

permissions

List possible permissions

resource_types

List of possible resource types

class nebpyclient.api.sorting.SortDirection

Defines sorting direction

Ascending = 'Ascending'

Sort items in ascending order

Descending = 'Descending'

Sort items in descending order

class nebpyclient.api.tokens.MustSendTargetDNS(response: dict)

Used in mutations for on-premises infrastructure via security triangle

Represents a definition of SPUs that a security token needs to be sent to.

control_port_dns

The DNS name of the SPU’s control port

data_port_dns

List of DNS names of the SPU’s data ports

class nebpyclient.api.tokens.PodTokenResponse(response: dict)

Response from the server used for nPod related mutations

__This object is deprecated__

Represents a response for a nPod related mutation that alters the customers’ on-premises infrastructure and requires the completion of the security triangle.

issues

List of errors and warnings associated with the mutation

token

Token that needs to be delivered to on-premises SPUs

class nebpyclient.api.tokens.TokenResponse(response: dict, ignore_warnings: bool = False)

Used in mutations for on-premises infrastructure via security triangle

Represents a response for a mutation that alters the customers’ on-premises infrastructure and requires the completion of the security triangle.

data_target_ips

List of data IP addresses of SPUs involved in the mutation

deliver_token() → any

Delivers the token to SPUs

For recipe engine v1 requests, a boolean value is returned that indicates if the request was successful. For recipe v2 requests a dict is returned that includes recipe_id_to_wait_on and pod_uuid_to_wait_on that can be used to query the status of the recipe and its completion.

Raises:Exception – When token delivery failed.
Returns any:The response received from nebulon ON through the proxy services processing unit (SPU).
issues

List of errors and warnings associated with the mutation

must_send_target_dns

List of data IP addresses of SPUs involved in the mutation

target_ips

List of control IP addresses of SPUs involved in the mutation

token

Token that needs to be delivered to on-premises SPUs

wait_on

Unique identifier of the resource that is about to be created

Alerts

class nebpyclient.api.alerts.Alert(response: dict)

Instance of an alert in nebulon ON

An alert represents an issue in nebulon ON or your infrastructure. If the alert is reporting a status of Open it is an active alert in your environment that may require immediate attention. If it is reporting Closed the issue was resolved.

action_operation

Name of the action to execute for this alert

action_params

Parameters for the action requested by this alert

code

Alert code allows the unique identification of an alert type

corrective_actions

List of corrective actions to resolve the alert

create_time

Timestamp for when the alert was detected

details

Detailed description for the alert

event_id

Identifier of the event (open or close)

incident_id

Identifier of the incident

npod_uuid

Related nPod uuid

resource_id

Related resource identifier

resource_name

Related resource name

resource_type

Related resource type

severity

Severity of the alert

spu_serial

Related services processing unit serial number

status

Status of the alert

summary

Summary description for the alert

class nebpyclient.api.alerts.AlertFilter(created_after: datetime.datetime = None, created_before: datetime.datetime = None, severity: nebpyclient.api.alerts.AlertSeverity = None, resource_type: nebpyclient.api.common.ResourceType = None, resource_id: str = None, status: nebpyclient.api.alerts.AlertStatus = None, npod_uuid: str = None, spu_serial: str = None, code: str = None, incident_id: str = None)

A filter object to filter alerts.

Allows filtering for specific alerts in nebulon ON. The filter allows multiple properties to be specified. If multiple properties are provided they are concatenated with a logical AND.

code

Filter for alerts that match the specified alert code

created_after

Filter for alerts created after the specified date and time

created_before

Filter for alerts created before the specified date and time

incident_id

Filter for alerts that match the specified incident ID

npod_uuid

Filter for alerts that match the specified nPod UUID

resource_id

Filter for alerts that match the specified resource identifier

resource_type

Filter for alerts that match the specified resource type

severity

Filter for alerts that match the specified alert severity

spu_serial

Filter for alerts that match the specified SPU serial number

status

Filter for alerts that match the specified status

class nebpyclient.api.alerts.AlertStatus

Defines the status of an alert

Closed = 'Closed'

The alert is resolved

Open = 'Open'

The alert is not resolved

Unknown = 'Unknown'

Status of the alert is not known

class nebpyclient.api.alerts.AlertList(response: dict)

Paginated Alert list object

Contains a list of alert objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of alerts in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.alerts.AlertSeverity

Defines the severity of an alert

Critical = 'Critical'

Alert severity indicates complete loss of functionality or data unavailability and requires immediate attention by service owners.

Major = 'Major'

Alert severity indicates that there is partial loss of functionality or partial data unavailability, no redundancy in a service (failure of one more resource will cause an outage) and requires immediate attention by service owners.

Minor = 'Minor'

Alert severity indicates that there is no loss in functionality, performance and stability issues that require attention by service owners

Trivial = 'Trivial'

Alert severity indicates that there is no loss in functionality, only minor impacts to performance, or cosmetic issues or bugs, not affecting the customer’s ability to use the product

Unknown = 'Unknown'

Alert severity is not known

Urgent = 'Urgent'

Alert severity indicates complete loss of functionality or data unavailability and requires immediate attention by service owners.

Auditing

class nebpyclient.api.auditing.AuditLogFilter(start_after: datetime.datetime = None, start_before: datetime.datetime = None, operation: str = None, component: str = None, npod_uuid: str = None, spu_serial: str = None, status: nebpyclient.api.auditing.AuditStatus = None, user_uuid: str = None)

A filter object to filter audit log entries

Allows filtering for specific audit log entries in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

component

Filter for records that match the specified component type

npod_uuid

Filter for records that match the specified nPod unique identifier

operation

Filter for records that match the specified operation name

spu_serial

Filter for records that match the specified SPU serial number

start_after

Filter for records created after the specified date and time

start_before

Filter for records created before the specified date and time

status

Filter for records that match the specified operation status

user_uuid

Filter for records that match the specified user identifier

class nebpyclient.api.auditing.AuditLogList(response)

Paginated audit record list object

Contains a list of audit records and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

items

List of audit log entries in the pagination list

more

Indicates if there are more items on the server

class nebpyclient.api.auditing.AuditLogEntry(response: dict)

Instance of an audit record entry in nebulon ON

An audit record entry represents an action that a user performed in nebulon ON. Actions include exclusively commands that alter the configuration of resources in nebulon ON or in your infrastructure. Queries that read configuration information are not included in the audit record list.

client_app

Client application identifier from which the operation was called

client_ip

Public IP address of the client that invoked the operation

client_platform

Client platform information from which the operation was called

component

Affected component by the operation

component_id

Identifier of the affected component

component_name

Name of the affected component

error

Error message associated with the operation

finish

Completion time for the operation

npod_uuid

Unique identifier of the nPod involved in the operation

operation

The operation a user executed

parameters

Parameters that were supplied with the operation

spu_serial

Serial number of the SPU involved in the operation

start

Start time for the operation

status

Status of the operation

user_name

Name of the user that executed the operation

user_uuid

Unique identifier of the user that executed the operation

class nebpyclient.api.auditing.AuditStatus

Defines the status of a record in the audit log

Completed = 'Completed'

Operation completed successfully

Failed = 'Failed'

Operation completed with a failure

InProgress = 'InProgress'

Operation is still ongoing

Unknown = 'Unknown'

Operation status is unknown

Datacenters

class nebpyclient.api.datacenters.Address(response: dict)

An address for a datacenter

This information is used for support cases related to physical equipment in customer’s datacenters and to allow part shipments to the provided address.

address1

Address field 1, typically the street address

address2

Address field 2

address3

Address field 3

city

City name for the address

country_code

Country code for the address

house_number

House number and letters for the address

postal_code

Postal code for the address

state_province_code

State or province code for the address

class nebpyclient.api.datacenters.AddressInput(house_number: str, address1: str, city: str, postal_code: str, country_code: str, state_province_code: str = None, address2: str = None, address3: str = None)

An input object to setup an address for a datacenter

Allows specifying a physical address for a datacenter. This information is used for support cases related to physical equipment in customer’s datacenters and to allow part shipments to the provided address.

address1

Address field 1, typically the street address

address2

Address field 2

address3

Address field 3

city

City name for the address

country_code

Country code for the address

house_number

House number and letters for the address

postal_code

Postal code for the address

state_province_code

State or province code

class nebpyclient.api.datacenters.CommunicationMethodType

Defines customer communication preferences

Email = 'Email'

Prefer communication via E-Mail

Phone = 'Phone'

Prefer communication via Phone

class nebpyclient.api.datacenters.Contact(response: dict)

Contact information for a datacenter

This information is used to contact a customer in case of infrastructure issues and to send replacement parts.

business_phone

The business phone number of the contact

communication_method

Indicates the preferred communication method for this contact

email_address

The email address of the contact

first_name

The first name of the contact

last_name

The last name of the contact

mobile_phone

The mobile phone number of the contact

primary

Indicates if this contact is the primary contact for a datacenter

user_uuid

The unique identifier of a nebulon ON user account

class nebpyclient.api.datacenters.ContactInput(user_uuid: str, primary: bool, communication_method: nebpyclient.api.datacenters.CommunicationMethodType)

An input object to define a datacenter contact

Allows specifying contact information for a datacenter. This information is used to contact a customer in case of infrastructure issues and to send replacement parts.

communication_method

Indicates the preferred communication method for this contact

primary

Indicates if this contact is the primary contact for a datacenter

user_uuid

The unique identifier of a nebulon ON user account

class nebpyclient.api.datacenters.CreateDataCenterInput(name: str, address: nebpyclient.api.datacenters.AddressInput, contacts: [<class 'nebpyclient.api.datacenters.ContactInput'>], note: str = None)

An input object to create a datacenter

Allows the creation of a datacenter object in nebulon ON. A datacenter record allows customers to logically organize their infrastructure by physical location and associate address and contact information with the physical location. This is useful for effective support case handling and reporting purposes.

address

Postal address for the datacenter

contacts

List of contacts for the datacenter

name

Name of the datacenter

note

An optional note for the datacenter

class nebpyclient.api.datacenters.DataCenter(response: dict)

A datacenter object

A datacenter record allows customers to logically organize their infrastructure by physical location and associate address and contact information with the physical location. This is useful for effective support case handling and reporting purposes.

address

Postal address for the datacenter

contacts

List of contacts for the datacenter

host_count

Number of hosts (servers) in the datacenter

name

Name of the datacenter

note

An optional note for the datacenter

rack_count

Number of racks in the datacenter

room_count

Number of rooms in the datacenter

room_uuids

Unique identifiers of rooms in the datacenter

row_count

Number of rows in the datacenter

uuid

Unique identifier of the datacenter

class nebpyclient.api.datacenters.DataCenterFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter datacenters.

Allows filtering for specific datacenters in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

name

Filter based on datacenter name

or_filter

Allows concatenation of multiple filters via logical OR

uuid

Filter based on datacenter unique identifier

class nebpyclient.api.datacenters.DataCenterList(response: dict)

Paginated datacenter list object

Contains a list of datacenter objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of datacenters in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.datacenters.DataCenterSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for datacenters

Allows sorting datacenters on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.datacenters.DatacentersMixin

Mixin to add datacenter related methods to the GraphQL client

create_datacenter(create_input: nebpyclient.api.datacenters.CreateDataCenterInput = None) → nebpyclient.api.datacenters.DataCenter

Allows creation of a new datacenter object

A datacenter record allows customers to logically organize their infrastructure by physical location and associate address and contact information with the physical location. This is useful for effective support case handling and reporting purposes.

Parameters:create_input (CreateDataCenterInput) – A property definition for the new datacenter
Returns DataCenter:
 The new datacenter.
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_datacenter(uuid: str, delete_input: nebpyclient.api.datacenters.DeleteDataCenterInput = None) → bool

Allows deletion of an existing datacenter object

The deletion of a datacenter is only possible if the datacenter has no hosts (servers) associated with any child items.

Parameters:
  • uuid (str) – The unique identifier of the datacenter to delete
  • delete_input (DeleteDataCenterInput, optional) – Optional parameters for the delete operation
Returns bool:

If the query was successful

Raises:

GraphQLError – An error with the GraphQL endpoint.

get_datacenters(page: nebpyclient.api.common.PageInput = None, dc_filter: nebpyclient.api.datacenters.DataCenterFilter = None, sort: nebpyclient.api.datacenters.DataCenterSort = None) → nebpyclient.api.datacenters.DataCenterList

Retrieves a list of datacenter objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • dc_filter (DataCenterFilter, optional) – A filter object to filter the datacenters on the server. If omitted, the server will return all objects as a paginated response.
  • sort (DataCenterSort, optional) – A sort definition object to sort the datacenter objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns DataCenterList:
 

A paginated list of datacenters.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_datacenter(uuid: str, update_input: nebpyclient.api.datacenters.UpdateDataCenterInput) → nebpyclient.api.datacenters.DataCenter

Allows updating properties of an existing datacenter object

Parameters:
  • uuid (str) – The unique identifier of the datacenter to update
  • update_input (UpdateDataCenterInput) – A property definition for the datacenter updates
Returns DataCenter:
 

The updated datacenter object.

Raises:

GraphQLError – An error with the GraphQL endpoint.

class nebpyclient.api.datacenters.DeleteDataCenterInput(cascade: bool)

An input object to delete a datacenter object

Allows additional options when deleting a datacenter. When cascade is set to True all child resources are deleted with the datacenter if no hosts are associated with them.

cascade

Indicates that child items shall be deleted with the datacenter

class nebpyclient.api.datacenters.UpdateDataCenterInput(name: str = None, address: nebpyclient.api.datacenters.AddressInput = None, contacts: [<class 'nebpyclient.api.datacenters.ContactInput'>] = None, note: str = None)

An input object to update datacenter properties

Allows updating of an existing datacenter object in nebulon ON. A datacenter record allows customers to logically organize their infrastructure by physical location and associate address and contact information with the physical location. This is useful for effective support case handling and reporting purposes.

address

New postal address for the datacenter

contacts

New list of contacts for the datacenter

name

New name of the datacenter

note

New note for the datacenter

Datacenter Rooms

Datacenter Rows

class nebpyclient.api.rows.RowSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for rows

Allows sorting rows on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.rows.RowFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, room_uuid: nebpyclient.api.filters.UUIDFilter = None, location: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter rows in a datacenter.

Allows filtering for specific rows in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

location

Filter based on rack location

name

Filter based on row name

or_filter

Allows concatenation of multiple filters via logical OR

room_uuid

Filter based on the room’s row unique identifier

uuid

Filter based on row unique identifier

class nebpyclient.api.rows.CreateRowInput(room_uuid: str, name: str, note: str = None, location: str = None)

An input object to create a row

Allows the creation of a row object in nebulon ON. A row record allows customers to logically organize their infrastructure by physical location.

location

An optional location for the new row

name

Name for the new row

note

An optional note for the new row

room_uuid

Unique identifier for the parent room

class nebpyclient.api.rows.UpdateRowInput(room_uuid: str = None, name: str = None, note: str = None, location: str = None)

An input object to update row properties

Allows updating of an existing row object in nebulon ON. A row record allows customers to logically organize their infrastructure by physical location.

location

A new optional location for the row

name

The new name of the row

note

The new note of the row

room_uuid

Unique identifier for a new room for the row

class nebpyclient.api.rows.Row(response: dict)

A row object

A row record allows customers to logically organize their infrastructure by physical location.

host_count

Number of hosts (servers) in the row

location

An optional location for the row

name

Name of the row

note

An optional note for the row

rack_count

Number of racks in the row

rack_uuids

Unique identifiers of racks in the row

room_uuid

Unique identifier of the parent room

uuid

Unique identifier of the row

class nebpyclient.api.rows.RowList(response: dict)

Paginated row list object

Contains a list of row objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of rows in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

Datacenter Racks

class nebpyclient.api.racks.RackSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for racks

Allows sorting racks on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.racks.RackFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, row_uuid: nebpyclient.api.filters.UUIDFilter = None, location: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter racks.

Allows filtering for specific racks in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

location

Filter based on rack location

name

Filter based on rack name

or_filter

Allows concatenation of multiple filters via logical OR

row_uuid

Filter based on the rack’s row unique identifier

uuid

Filter based on rack unique identifier

class nebpyclient.api.racks.CreateRackInput(row_uuid: str, name: str, note: str = None, location: str = None)

An input object to create a rack

Allows the creation of a rack object in nebulon ON. A rack record allows customers to logically organize their infrastructure by physical location.

location

An optional location for the new rack

name

Name for the new rack

note

An optional note for the new rack

row_uuid

Unique identifier for the parent row

class nebpyclient.api.racks.UpdateRackInput(row_uuid: str = None, name: str = None, note: str = None, location: str = None)

An input object to update rack properties

Allows updating of an existing rack object in nebulon ON. A rack record allows customers to logically organize their infrastructure by physical location.

location

A new optional location for the rack

name

The new name of the rack

note

The new note of the rack

row_uuid

Unique identifier for a new row for the rack

class nebpyclient.api.racks.Rack(response: dict)

A rack in a datacenter

A rack record allows customers to logically organize their infrastructure by physical location.

host_count

Number of hosts (servers) in the rack

host_uuids

Unique identifiers of hosts in the rack

location

An optional location for the rack

name

Name of the rack

note

An optional note for the rack

row_uuid

Unique identifier of the parent row

uuid

Unique identifier of the rack

class nebpyclient.api.racks.RackList(response: dict)

Paginated rack list object

Contains a list of rack objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of racks in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.racks.RacksMixin

Mixin to add datacenter room related methods to the GraphQL client

create_rack(create_rack_input: nebpyclient.api.racks.CreateRackInput) → nebpyclient.api.racks.Rack

Allows creation of a new rack object

A rack record allows customers to logically organize their infrastructure by physical location.

Parameters:create_rack_input (CreateRackInput) – A parameter that describes the rack to be created for a row.
Returns Rack:The new rack.
Raises:GraphQLError – An error with the GraphQL endpoint.
delete_rack(uuid: str) → bool

Allows deletion of an existing rack object

The deletion of a rack is only possible if the rack has no hosts (servers) associated with it.

Parameters:uuid (str) – The unique identifier of the rack to delete
Returns bool:If the query was successful
Raises:GraphQLError – An error with the GraphQL endpoint.
get_racks(page: nebpyclient.api.common.PageInput = None, rack_filter: nebpyclient.api.racks.RackFilter = None, sort: nebpyclient.api.racks.RackSort = None) → nebpyclient.api.racks.RackList

Retrieves a list of rack objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • rack_filter (RackFilter, optional) – A filter object to filter the racks on the server. If omitted, the server will return all objects as a paginated response.
  • sort (RackSort, optional) – A sort definition object to sort the racks on supported properties. If omitted objects are returned in the order as they were created in.
Returns RackList:
 

A paginated list of racks in a datacenter.

Raises:

GraphQLError – An error with the GraphQL endpoint.

update_rack(uuid: str, update_rack_input: nebpyclient.api.racks.UpdateRackInput) → nebpyclient.api.racks.Rack

Allows updating properties of an existing rack object

At least one property must be specified.

Parameters:
  • uuid (str) – The unique identifier of the rack to update
  • update_rack_input (UpdateRackInput) – A parameter describing all changes to apply to the rack that is identified by the uuid parameter
Returns Rack:

The updated rack object.

Raises:

GraphQLError – An error with the GraphQL endpoint.

Support Cases

class nebpyclient.api.etickets.CreateSupportCaseInput(subject: str, description: str, priority: nebpyclient.api.etickets.SupportCasePriority, issue_type: nebpyclient.api.etickets.SupportCaseIssueType, spu_serial: str = None, resource_type: nebpyclient.api.common.ResourceType = None, resource_type_other: str = None, resource_id: str = None)

An input object to create a new support case

Allows creation of a support case in nebulon ON. A support case allows customers to get their issues associated with Nebulon to be resolved with their preferred support channel. Issues may include infrastructure and hardware issues, software issues, or general questions.

description

Detailed description of the issue

issue_type

Type of support case / issue

priority

Urgency of the support case

resource_id

Unique identifier for the resource related to the support case

resource_type

Type of resource related to the support case / issue

resource_type_other

Description of the resource when resource_type is Other

spu_serial

Serial number of the SPU related to the support case / issue

subject

High level summary of the support case

class nebpyclient.api.etickets.DeleteSupportCaseAttachmentInput(unique_id: str, file_name: str)

An input object to delete an attachment from a support case

Allows deleting an attachment from a support case. An attachment can be used to provide support with additional information, screenshots or log files.

file_name

The name of the file

unique_id

The unique identifier of the attachment

class nebpyclient.api.etickets.SupportCase(response: dict)

A support case object in nebulon ON

A support case is used by customers to have their issues with nebulon infrastructure resolved. Issues may include infrastructure and hardware issues, software issues, or general questions.

alert_id

Unique identifier of an associated alert

attachments

List of attachments for the support case

closed_date

Date and time when the support case / issue was resolved

comments

List of comments for the support case

contact

The customer contact for the support case

created_date

Date and time when the support case was created

description

Detailed description of the support case / issue

improvement_suggestion

Customer feedback for improving future requests

issue_type

Type of issue

Knowledge Base article related to this support case

number

Support case number

oem_case_number

Support case number with the server vendor

oem_created_date

Date and time of support case creation with the server vendor

oem_name

Name of the server vendor associated with the infrastructure

oem_updated_date

Date and time of last update with the server vendor

origin

Origin of the support case

owner_name

The case owner working the support case in support

priority

Urgency of the support case

resource_id

Unique identifier of the associated resource for the support case

resource_name

Name of the associated resource for the support case

resource_type

Associated resource type for the support case

resource_type_other

Resource type description when resource_type is Other

spu_serial

Serial number of the associated SPU for the support case

status

Status of the support case

subject

High level summary of the support case / issue

updated_date

Date and time when the support case was last updated

class nebpyclient.api.etickets.SupportCaseAttachment(response: dict)

A file attachment to a support case

Allows customers to attach arbitrary data to a support case. Examples are screenshots of the user interface, log files from application servers, or other supporting data for resolving a support case.

file_name

The name of the uploaded file

file_size_bytes

The size of the file in bytes

unique_id

The unique identifier of the uploaded file

upload_time

The date and time of upload

class nebpyclient.api.etickets.SupportCaseComment(response: dict)

A comment in the support case history

Allows interaction between the customer and support for further clarification of issues or providing support case status updates. Customers and support can add comments to a support case for bi-directional communication.

name

The name of the user that published the comment

text

The text contents of the comment

time

The date and time when the comment was published

class nebpyclient.api.etickets.SupportCaseContact(response: dict)

Represents the user contact for a support case

The support case contact is used by support to work on resolving an issue. By default the contact for a support case is the user that created the support case, but can be altered.

contact_uuid

The unique identifier of the contact

email

The email address of the contact

mobile

The mobile phone number of the contact

name

The name of the contact

phone

The phone number of the contact

class nebpyclient.api.etickets.SupportCaseFilter(number: str = None, status: nebpyclient.api.etickets.SupportCaseStatus = None, issue_type: nebpyclient.api.etickets.SupportCaseIssueType = None, contact_id: str = None, resource_type: nebpyclient.api.etickets.SupportCaseResourceType = None, resource_type_other: str = None)

A filter object to filter support cases

Allows filtering for specific support cases in nebulon ON. The filter allows only one property to be specified.

contact_id

Filter based on the support case contact

issue_type

Filter based on the support case type

number

Filter based on the support case number

resource_type

Filter based on resource type

resource_type_other

Filter based on resource type information for other

status

Filter based on the support case status

class nebpyclient.api.etickets.SupportCaseIssueType

Indicates the type of support case

class nebpyclient.api.etickets.SupportCaseList(response: dict)

Paginated support case list object

Contains a list of support case objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of support cases in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.etickets.SupportCaseOrigin

Defines the origin of a support case

Customer = 'Customer'

Support case was created by the customer

NebulonON = 'NebulonON'

Support case was created by nebulon ON

OEM = 'OEM'

Support case was created by the server vendor

Unknown = 'Unknown'

Origin of the support case is unknown

class nebpyclient.api.etickets.SupportCasePriority

Indicates the customer specified priority for the support case

class nebpyclient.api.etickets.SupportCaseResourceType

Indicates the resource type related to a support case

class nebpyclient.api.etickets.SupportCaseSort(status: nebpyclient.api.sorting.SortDirection = None, issue_type: nebpyclient.api.sorting.SortDirection = None, created_date: nebpyclient.api.sorting.SortDirection = None, updated_date: nebpyclient.api.sorting.SortDirection = None)

A sort object for support cases

Allows sorting support cases on common properties. The sort object allows only one property to be specified.

created_date

Sort direction for the created_date property of a support case

issue_type

Sort direction for the issue_type property of a support case

status

Sort direction for the status property of a support case

updated_date

Sort direction for the updated_date property of a support case

class nebpyclient.api.etickets.SupportCaseStatus

Indicates the status of the support case

class nebpyclient.api.etickets.UpdateSupportCaseInput(subject: str = None, description: str = None, priority: nebpyclient.api.etickets.SupportCasePriority = None, status: nebpyclient.api.etickets.SupportCaseStatus = None, contact_user_uuid: str = None, improvement_suggestion: str = None, comment: str = None)

An input object to update an existing support case

Allows updating of a support case in nebulon ON. A support case allows customers to get their issues associated with nebulon Cloud-Defined Storage to be resolved with their preferred support channel. Issues may include infrastructure and hardware issues, software issues, or questions.

comment

A comment to add to the support case history

contact_user_uuid

The identifier for the user to be contacted for the support case

description

Detailed description of the issue

improvement_suggestion

Feedback for support for improvement

priority

The urgency of the request

status

The new status of the support case

subject

High level summary of an issue

Hosts

class nebpyclient.api.hosts.DIMM(response: dict)

A memory DIMM object

location

Location of the DIMM in the server

manufacturer

Manufacturer name for the DIMM

size_bytes

Memory DIMM size in bytes

class nebpyclient.api.hosts.LOMCredentials(response: dict)

LOM Credentials object

Represents LOM login information and status for SPU LOM integration.

error

Error message associated with the LOM credentials

insecure

Allow update if certificate is not valid

last_connected

Date and time when the SPU last connected to LOM

status

Current LOM status

url

Password for LOM credentials

username

Username for LOM credentials

class nebpyclient.api.hosts.Host(response: dict)

A host or server that contains a nebulon SPU

board_serial

Board serial number of the host

boot_time

Date and time when the host booted

chassis_serial

Chassis serial number of the host

cpu_core_count

Number of cores of the installed CPUs

cpu_count

Number of installed CPUs in this host

cpu_manufacturer

CPU manufacturer of the CPUs installed in this host

cpu_speed

CPU clock speed

cpu_thread_count

Number of threads of the installed CPUs

cpu_type

CPU type of the CPUs installed in this host

dimm_count

Number of DIMMs installed in this host

dimms

List of DIMMs installed in this host

immutable_boot_volume_pending

If immutableBootVolumePending is true, then the SPUs in the host are prepared to take a snapshot of the boot volume for the future reverting when the host next reboots.

lom_address

IP address of the lights out management address of the host

lom_credentials

Hosts LOM credentials

lom_hostname

Hostname of the lights out management address of the host

manufacturer

Manufacturer name for this host

memory_bytes

Total memory installed in the server in bytes

model

Model of the host

name

Name of the host

note

Optional note for the host

npod_uuid

The unique identifier of the nPod this host is part of

rack_uuid

Unique identifier associated with this host

spu_count

Number of SPUs installed in this host

spu_serials

List of SPU serial numbers that are installed in this host

uuid

Unique identifier of the host

class nebpyclient.api.hosts.HostSort(name: nebpyclient.api.sorting.SortDirection = None, model: nebpyclient.api.sorting.SortDirection = None, manufacturer: nebpyclient.api.sorting.SortDirection = None)

A sort object for hosts

Allows sorting hosts on common properties. The sort object allows only one property to be specified.

manufacturer

Sort direction for the manufacturer property of a host object

model

Sort direction for the model property of a host object

name

Sort direction for the name property of a host object

class nebpyclient.api.hosts.HostFilter(uuid: nebpyclient.api.filters.StringFilter = None, name: nebpyclient.api.filters.StringFilter = None, model: nebpyclient.api.filters.StringFilter = None, manufacturer: nebpyclient.api.filters.StringFilter = None, chassis_serial: nebpyclient.api.filters.StringFilter = None, board_serial: nebpyclient.api.filters.StringFilter = None, npod_uuid: nebpyclient.api.filters.UUIDFilter = None, and_filter=None, or_filter=None)

A filter object to filter hosts.

Allows filtering for specific hosts in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

board_serial

Filter based on board serial number

chassis_serial

Filter based on host chassis serial number

manufacturer

Filter based on host manufacturer name

model

Filter based on host model name

name

Filter based on host name

npod_uuid

Filter based on nPod unique identifier

or_filter

Allows concatenation of multiple filters via logical OR

uuid

Filter based on host unique identifier

class nebpyclient.api.hosts.HostList(response: dict)

Paginated host list object

Contains a list of host objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of hosts in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.hosts.UpdateHostInput(name: str = None, rack_uuid: str = None, note: str = None)

An input object to update host properties

Allows updating of an existing host object in nebulon ON. Only few properties of a host are user modifiable. Most properties are automatically populated by the host’s services processing unit (SPU).

name

Name of the host

note

Optional note for the host

rack_uuid

Associated unique identifier of a rack associated with the host

Key Value

class nebpyclient.api.keyvalue.DeleteKeyValueInput(resource_type: nebpyclient.api.common.ResourceType, npod_uuid: str, resource_uuid: str, key: str)

An input object to delete a key value entry

key

Metadata key

npod_uuid

nPod identifier

resource_type

Type of resource for the key value data

resource_uuid

Identifier of the resource for the key value entry

class nebpyclient.api.keyvalue.KeyValue(response: dict)

Key value pair

Represents metadata assigned to various resources in nebulon ON in the form of key value pairs. This metadata can be used by customers to add arbitrary text information to resources that are not part of the default resource properties

key

Metadata key

value

Metadata value

class nebpyclient.api.keyvalue.KeyValueFilter(resource_type: nebpyclient.api.common.ResourceType, npod_uuid: str, resource_uuid: str, key: nebpyclient.api.filters.StringFilter = None)

A filter object to filter key value objects.

Allows filtering for specific key value objects in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

key

Filter based on the key name

npod_uuid

Filter based on the associated nPod UUID

resource_type

Filter based on the associated resource type

resource_uuid

Filter based on the associated resource UUID

class nebpyclient.api.keyvalue.KeyValueList(response: dict)

List of key value pairs

filtered_count

The number of items on the server matching the provided filter

items

List of key-value objects in the list

total_count

The total number of items on the server

class nebpyclient.api.keyvalue.UpsertKeyValueInput(resource_type: nebpyclient.api.common.ResourceType, npod_uuid: str, resource_uuid: str, key: str, value: str)

An input object to create or update a key value entry

Allows adding metadata to various resources in nebulon ON in the form of key value pairs. This metadata can be used by customers to add arbitrary text information to resources that are not part of the default resource properties.

key

Metadata key

npod_uuid

nPod identifier

resource_type

Type of resource for the key value data

resource_uuid

Identifier of the resource for the key value entry

value

Metadata value

LUNs

class nebpyclient.api.luns.LUN(response: dict)

A LUN is an export of a volume to a host

A LUN is an instance of a volume export that makes a volume accessible to a host.

definition_uuid

The unique identifier of the central LUN definition

host_uuid

The unique identifier of the host the LUN is accessible by

lun_id

The LUN ID of the volume export

spu_serial

The SPU serial where the LUN is exported from

uuid

The unique identifier of the LUN

volume_uuid

The unique identifier of the volume that is exported

class nebpyclient.api.luns.LUNSort(lun_id: nebpyclient.api.sorting.SortDirection = None)

A sort object for LUNs

Allows sorting LUNs on common properties. The sort object allows only one property to be specified.

lun_id

Sort direction for the lun_id property of a LUN

class nebpyclient.api.luns.LUNsMixin

Mixin to add LUN related methods to the GraphQL client

create_lun(lun_input: nebpyclient.api.luns.CreateLUNInput, ignore_warnings: bool = False) → nebpyclient.api.luns.LUN

Allows creation of a new LUN

Allows the creation of a LUN for a volume. A LUN is an instance of a volume export that makes a volume accessible to a host.

Parameters:
  • lun_input (CreateLUNInput) – The parameters that describe the LUN or LUNs to create
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Returns LUN:

the created LUN.

Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_lun(lun_uuid: str, ignore_warnings: bool = False)

Allows deletion of a LUN

Parameters:
  • lun_uuid (str) – The unique identifier of the LUN to delete
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:

GraphQLError – An error with the GraphQL endpoint.

delete_luns(batch_delete_lun_input: nebpyclient.api.luns.BatchDeleteLUNInput, ignore_warnings: bool = False)

Allows deletion of multiple LUNs simultaneously

Parameters:
  • batch_delete_lun_input (BatchDeleteLUNInput) – An input parameter describing the selection criteria for the LUNs to delete.
  • ignore_warnings (bool, optional) – If specified and set to True the operation will proceed even if nebulon ON reports warnings. It is advised to not ignore warnings. Consequently, the default behavior is that the operation will fail when nebulon ON reports validation errors or warnings.
Raises:

GraphQLError – An error with the GraphQL endpoint.

get_luns(page: nebpyclient.api.common.PageInput = None, lun_filter: nebpyclient.api.luns.LUNFilter = None, sort: nebpyclient.api.luns.LUNSort = None) → nebpyclient.api.luns.LUNList

Retrieves a list of LUN objects

Parameters:
  • page (PageInput, optional) – The requested page from the server. This is an optional argument and if omitted the server will default to returning the first page with a maximum of 100 items.
  • lun_filter (LUNFilter, optional) – A filter object to filter the LUNs on the server. If omitted, the server will return all objects as a paginated response.
  • sort (LUNSort, optional) – A sort definition object to sort the LUN objects on supported properties. If omitted objects are returned in the order as they were created in.
Returns LUNList:
 

A paginated list of LUNs.

Raises:

GraphQLError – An error with the GraphQL endpoint.

class nebpyclient.api.luns.LUNList(response: dict)

Paginated LUN list object

Contains a list of LUN objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of LUN objects in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.luns.LUNFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, lun_id: nebpyclient.api.filters.IntFilter = None, spu_serial: nebpyclient.api.filters.StringFilter = None, volume_uuid: nebpyclient.api.filters.UUIDFilter = None, npod_uuid: nebpyclient.api.filters.UUIDFilter = None, host_uuid: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter LUNs.

Allows filtering for specific LUNs. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

host_uuid

Filter based on the host identifier on which the LUN is active

lun_id

Filter based on LUN ID

npod_uuid

Filter based on the nPod unique identifier this LUN relates to

or_filter

Allows concatenation of multiple filters via logical OR

spu_serial

Filter based on the SPU serial number on which the LUN is active

uuid

Filter based on LUN unique identifier

volume_uuid

Filter based on the UUID of the volume this LUN relates to

class nebpyclient.api.luns.CreateLUNInput(volume_uuid: str, lun_id: int = None, host_uuids: List[str] = None, spu_serials: List[str] = None, npod_lun: bool = None, local: bool = None)

An input object to create a LUN for a volume

Allows the creation of a LUN for a volume. A LUN is an instance of a volume export that makes a volume accessible to a host.

host_uuids

The hosts to which a volume shall be exported to

local

If True, volumes will be exported with ALUA turned off

lun_id

An optional LUN ID to assign to the volume export

npod_lun

If True, volumes will be exported to all hosts in the nPod

spu_serials

The SPUs from which a volume shall be exported from

volume_uuid

The identifier of the volume that shall be exported to a host

class nebpyclient.api.luns.BatchDeleteLUNInput(volume_uuid: str = None, lun_uuids: List[str] = None, host_uuids: List[str] = None)

An input object to delete multiple LUNs at once

host_uuids

List of host identifiers from which LUNs shall be deleted

lun_uuids

List of LUN identifiers that shall be deleted

volume_uuid

Identifier of the volume from which LUNs shall be deleted

nPod Groups

class nebpyclient.api.npodgroups.NPodGroupSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for nPod groups

Allows sorting nPod groups on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.npodgroups.NPodGroupList(response: dict)

Paginated nPod group list object

Contains a list of nPod group objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of nPod groups in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.npodgroups.NPodGroupFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter nPod groups.

Allows filtering for specific nPod groups in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

name

Filter based on nPod group name

or_filter

Allows concatenation of multiple filters via logical OR

uuid

Filter based on nPod group unique identifier

class nebpyclient.api.npodgroups.NPodGroup(response: dict)

A group of nPods

A nPod group allows logical grouping of nPods into security domains. Each nPod group can receive custom security policies and contain multiple nPods.

host_count

Number of hosts (servers) in this nPod group

name

The name of the nPod group

note

An optional note for the nPod group

npod_count

Number of nPods in this nPod group

npod_uuids

List of nPod unique identifiers in this nPod group

spu_count

Number of services processing units in this nPod group

uuid

The unique identifier for the nPod group

class nebpyclient.api.npodgroups.CreateNPodGroupInput(name: str, note: str = None)

An input object to create a new nPod group

Allows creation of a new nPod group object in nebulon ON. A nPod group allows logical grouping of nPods into security domains. Each nPod group can receive custom security policies.

name

The name of the nPod group

note

The note for the nPod group

class nebpyclient.api.npodgroups.UpdateNPodGroupInput(name: str = None, note: str = None)

An input object to update nPod group properties

Allows updating of an existing nPod group object in nebulon ON. A nPod group allows logical grouping of nPods into security domains. Each nPod group can receive custom security policies.

name

The new name of the nPod group

note

The new note for the nPod group

nPods

class nebpyclient.api.npods.BondType

Link aggregation type for data ports

Allows selecting the link aggregation mode for data network interfaces.

BondMode8023ad = 'BondMode8023ad'

Use LACP (IEEE 802.3ad) for link aggregation.

BondModeNone = 'BondModeNone'

No link aggregation. Both data ports communicate independently on their own networks. NebOS will internally manage failover between the interfaces.

class nebpyclient.api.npods.BondTransmitHashPolicy

Transmit has policy used by link aggregation

Allows selecting the algorithm for child interface selection according to the specified TCP/IP Layer.

TransmitHashPolicyLayer2 = 'TransmitHashPolicyLayer2'

Uses the physical interface MAC address for interface selection

TransmitHashPolicyLayer23 = 'TransmitHashPolicyLayer23'

Uses the layer 2 and 3 protocol data for interface selection

TransmitHashPolicyLayer34 = 'TransmitHashPolicyLayer34'

Uses the layer 3 and 4 protocol data for interface selection

class nebpyclient.api.npods.BondLACPTransmitRate

Link aggregation transmit rate for LACP

Allows configuration of the LACP rate - how frequently the LACP partner should transmit LACPDUs (Link Aggregation Control Protocol Data Units).

LACPTransmitRateFast = 'LACPTransmitRateFast'

Send LACPDUs every one second

LACPTransmitRateSlow = 'LACPTransmitRateSlow'

Send LACPDUs every thirty seconds

class nebpyclient.api.npods.SetNPodTimeZoneInput(time_zone: str)

Allows setting the timezone of an nPod or SPU

Possible timezones include:

  • Africa/Abidjan
  • Africa/Accra
  • Africa/Addis_Ababa
  • Africa/Algiers
  • Africa/Asmara
  • Africa/Asmera
  • Africa/Bamako
  • Africa/Bangui
  • Africa/Banjul
  • Africa/Bissau
  • Africa/Blantyre
  • Africa/Brazzaville
  • Africa/Bujumbura
  • Africa/Cairo
  • Africa/Casablanca
  • Africa/Ceuta
  • Africa/Conakry
  • Africa/Dakar
  • Africa/Dar_es_Salaam
  • Africa/Djibouti
  • Africa/Douala
  • Africa/El_Aaiun
  • Africa/Freetown
  • Africa/Gaborone
  • Africa/Harare
  • Africa/Johannesburg
  • Africa/Juba
  • Africa/Kampala
  • Africa/Khartoum
  • Africa/Kigali
  • Africa/Kinshasa
  • Africa/Lagos
  • Africa/Libreville
  • Africa/Lome
  • Africa/Luanda
  • Africa/Lubumbashi
  • Africa/Lusaka
  • Africa/Malabo
  • Africa/Maputo
  • Africa/Maseru
  • Africa/Mbabane
  • Africa/Mogadishu
  • Africa/Monrovia
  • Africa/Nairobi
  • Africa/Ndjamena
  • Africa/Niamey
  • Africa/Nouakchott
  • Africa/Ouagadougou
  • Africa/Porto-Novo
  • Africa/Sao_Tome
  • Africa/Timbuktu
  • Africa/Tripoli
  • Africa/Tunis
  • Africa/Windhoek
  • America/Adak
  • America/Anchorage
  • America/Anguilla
  • America/Antigua
  • America/Araguaina
  • America/Argentina/Buenos_Aires
  • America/Argentina/Catamarca
  • America/Argentina/ComodRivadavia
  • America/Argentina/Cordoba
  • America/Argentina/Jujuy
  • America/Argentina/La_Rioja
  • America/Argentina/Mendoza
  • America/Argentina/Rio_Gallegos
  • America/Argentina/Salta
  • America/Argentina/San_Juan
  • America/Argentina/San_Luis
  • America/Argentina/Tucuman
  • America/Argentina/Ushuaia
  • America/Aruba
  • America/Asuncion
  • America/Atikokan
  • America/Atka
  • America/Bahia
  • America/Bahia_Banderas
  • America/Barbados
  • America/Belem
  • America/Belize
  • America/Blanc-Sablon
  • America/Boa_Vista
  • America/Bogota
  • America/Boise
  • America/Buenos_Aires
  • America/Cambridge_Bay
  • America/Campo_Grande
  • America/Cancun
  • America/Caracas
  • America/Catamarca
  • America/Cayenne
  • America/Cayman
  • America/Chicago
  • America/Chihuahua
  • America/Coral_Harbour
  • America/Cordoba
  • America/Costa_Rica
  • America/Creston
  • America/Cuiaba
  • America/Curacao
  • America/Danmarkshavn
  • America/Dawson
  • America/Dawson_Creek
  • America/Denver
  • America/Detroit
  • America/Dominica
  • America/Edmonton
  • America/Eirunepe
  • America/El_Salvador
  • America/Ensenada
  • America/Fort_Nelson
  • America/Fort_Wayne
  • America/Fortaleza
  • America/Glace_Bay
  • America/Godthab
  • America/Goose_Bay
  • America/Grand_Turk
  • America/Grenada
  • America/Guadeloupe
  • America/Guatemala
  • America/Guayaquil
  • America/Guyana
  • America/Halifax
  • America/Havana
  • America/Hermosillo
  • America/Indiana/Indianapolis
  • America/Indiana/Knox
  • America/Indiana/Marengo
  • America/Indiana/Petersburg
  • America/Indiana/Tell_City
  • America/Indiana/Vevay
  • America/Indiana/Vincennes
  • America/Indiana/Winamac
  • America/Indianapolis
  • America/Inuvik
  • America/Iqaluit
  • America/Jamaica
  • America/Jujuy
  • America/Juneau
  • America/Kentucky/Louisville
  • America/Kentucky/Monticello
  • America/Knox_IN
  • America/Kralendijk
  • America/La_Paz
  • America/Lima
  • America/Los_Angeles
  • America/Louisville
  • America/Lower_Princes
  • America/Maceio
  • America/Managua
  • America/Manaus
  • America/Marigot
  • America/Martinique
  • America/Matamoros
  • America/Mazatlan
  • America/Mendoza
  • America/Menominee
  • America/Merida
  • America/Metlakatla
  • America/Mexico_City
  • America/Miquelon
  • America/Moncton
  • America/Monterrey
  • America/Montevideo
  • America/Montreal
  • America/Montserrat
  • America/Nassau
  • America/New_York
  • America/Nipigon
  • America/Nome
  • America/Noronha
  • America/North_Dakota/Beulah
  • America/North_Dakota/Center
  • America/North_Dakota/New_Salem
  • America/Nuuk
  • America/Ojinaga
  • America/Panama
  • America/Pangnirtung
  • America/Paramaribo
  • America/Phoenix
  • America/Port-au-Prince
  • America/Port_of_Spain
  • America/Porto_Acre
  • America/Porto_Velho
  • America/Puerto_Rico
  • America/Punta_Arenas
  • America/Rainy_River
  • America/Rankin_Inlet
  • America/Recife
  • America/Regina
  • America/Resolute
  • America/Rio_Branco
  • America/Rosario
  • America/Santa_Isabel
  • America/Santarem
  • America/Santiago
  • America/Santo_Domingo
  • America/Sao_Paulo
  • America/Scoresbysund
  • America/Shiprock
  • America/Sitka
  • America/St_Barthelemy
  • America/St_Johns
  • America/St_Kitts
  • America/St_Lucia
  • America/St_Thomas
  • America/St_Vincent
  • America/Swift_Current
  • America/Tegucigalpa
  • America/Thule
  • America/Thunder_Bay
  • America/Tijuana
  • America/Toronto
  • America/Tortola
  • America/Vancouver
  • America/Virgin
  • America/Whitehorse
  • America/Winnipeg
  • America/Yakutat
  • America/Yellowknife
  • Antarctica/Casey
  • Antarctica/Davis
  • Antarctica/DumontDUrville
  • Antarctica/Macquarie
  • Antarctica/Mawson
  • Antarctica/McMurdo
  • Antarctica/Palmer
  • Antarctica/Rothera
  • Antarctica/South_Pole
  • Antarctica/Syowa
  • Antarctica/Troll
  • Antarctica/Vostok
  • Arctic/Longyearbyen
  • Asia/Aden
  • Asia/Almaty
  • Asia/Amman
  • Asia/Anadyr
  • Asia/Aqtau
  • Asia/Aqtobe
  • Asia/Ashgabat
  • Asia/Ashkhabad
  • Asia/Atyrau
  • Asia/Baghdad
  • Asia/Bahrain
  • Asia/Baku
  • Asia/Bangkok
  • Asia/Barnaul
  • Asia/Beirut
  • Asia/Bishkek
  • Asia/Brunei
  • Asia/Calcutta
  • Asia/Chita
  • Asia/Choibalsan
  • Asia/Chongqing
  • Asia/Chungking
  • Asia/Colombo
  • Asia/Dacca
  • Asia/Damascus
  • Asia/Dhaka
  • Asia/Dili
  • Asia/Dubai
  • Asia/Dushanbe
  • Asia/Famagusta
  • Asia/Gaza
  • Asia/Harbin
  • Asia/Hebron
  • Asia/Ho_Chi_Minh
  • Asia/Hong_Kong
  • Asia/Hovd
  • Asia/Irkutsk
  • Asia/Istanbul
  • Asia/Jakarta
  • Asia/Jayapura
  • Asia/Jerusalem
  • Asia/Kabul
  • Asia/Kamchatka
  • Asia/Karachi
  • Asia/Kashgar
  • Asia/Kathmandu
  • Asia/Katmandu
  • Asia/Khandyga
  • Asia/Kolkata
  • Asia/Krasnoyarsk
  • Asia/Kuala_Lumpur
  • Asia/Kuching
  • Asia/Kuwait
  • Asia/Macao
  • Asia/Macau
  • Asia/Magadan
  • Asia/Makassar
  • Asia/Manila
  • Asia/Muscat
  • Asia/Nicosia
  • Asia/Novokuznetsk
  • Asia/Novosibirsk
  • Asia/Omsk
  • Asia/Oral
  • Asia/Phnom_Penh
  • Asia/Pontianak
  • Asia/Pyongyang
  • Asia/Qatar
  • Asia/Qostanay
  • Asia/Qyzylorda
  • Asia/Rangoon
  • Asia/Riyadh
  • Asia/Saigon
  • Asia/Sakhalin
  • Asia/Samarkand
  • Asia/Seoul
  • Asia/Shanghai
  • Asia/Singapore
  • Asia/Srednekolymsk
  • Asia/Taipei
  • Asia/Tashkent
  • Asia/Tbilisi
  • Asia/Tehran
  • Asia/Tel_Aviv
  • Asia/Thimbu
  • Asia/Thimphu
  • Asia/Tokyo
  • Asia/Tomsk
  • Asia/Ujung_Pandang
  • Asia/Ulaanbaatar
  • Asia/Ulan_Bator
  • Asia/Urumqi
  • Asia/Ust-Nera
  • Asia/Vientiane
  • Asia/Vladivostok
  • Asia/Yakutsk
  • Asia/Yangon
  • Asia/Yekaterinburg
  • Asia/Yerevan
  • Atlantic/Azores
  • Atlantic/Bermuda
  • Atlantic/Canary
  • Atlantic/Cape_Verde
  • Atlantic/Faeroe
  • Atlantic/Faroe
  • Atlantic/Jan_Mayen
  • Atlantic/Madeira
  • Atlantic/Reykjavik
  • Atlantic/South_Georgia
  • Atlantic/St_Helena
  • Atlantic/Stanley
  • Australia/ACT
  • Australia/Adelaide
  • Australia/Brisbane
  • Australia/Broken_Hill
  • Australia/Canberra
  • Australia/Currie
  • Australia/Darwin
  • Australia/Eucla
  • Australia/Hobart
  • Australia/LHI
  • Australia/Lindeman
  • Australia/Lord_Howe
  • Australia/Melbourne
  • Australia/NSW
  • Australia/North
  • Australia/Perth
  • Australia/Queensland
  • Australia/South
  • Australia/Sydney
  • Australia/Tasmania
  • Australia/Victoria
  • Australia/West
  • Australia/Yancowinna
  • Brazil/Acre
  • Brazil/DeNoronha
  • Brazil/East
  • Brazil/West
  • CET
  • CST6CDT
  • Canada/Atlantic
  • Canada/Central
  • Canada/Eastern
  • Canada/Mountain
  • Canada/Newfoundland
  • Canada/Pacific
  • Canada/Saskatchewan
  • Canada/Yukon
  • Chile/Continental
  • Chile/EasterIsland
  • Cuba
  • EET
  • EST
  • EST5EDT
  • Egypt
  • Eire
  • Etc/GMT
  • Etc/GMT+0
  • Etc/GMT+1
  • Etc/GMT+10
  • Etc/GMT+11
  • Etc/GMT+12
  • Etc/GMT+2
  • Etc/GMT+3
  • Etc/GMT+4
  • Etc/GMT+5
  • Etc/GMT+6
  • Etc/GMT+7
  • Etc/GMT+8
  • Etc/GMT+9
  • Etc/GMT-0
  • Etc/GMT-1
  • Etc/GMT-10
  • Etc/GMT-11
  • Etc/GMT-12
  • Etc/GMT-13
  • Etc/GMT-14
  • Etc/GMT-2
  • Etc/GMT-3
  • Etc/GMT-4
  • Etc/GMT-5
  • Etc/GMT-6
  • Etc/GMT-7
  • Etc/GMT-8
  • Etc/GMT-9
  • Etc/GMT0
  • Etc/Greenwich
  • Etc/UCT
  • Etc/UTC
  • Etc/Universal
  • Etc/Zulu
  • Europe/Amsterdam
  • Europe/Andorra
  • Europe/Astrakhan
  • Europe/Athens
  • Europe/Belfast
  • Europe/Belgrade
  • Europe/Berlin
  • Europe/Bratislava
  • Europe/Brussels
  • Europe/Bucharest
  • Europe/Budapest
  • Europe/Busingen
  • Europe/Chisinau
  • Europe/Copenhagen
  • Europe/Dublin
  • Europe/Gibraltar
  • Europe/Guernsey
  • Europe/Helsinki
  • Europe/Isle_of_Man
  • Europe/Istanbul
  • Europe/Jersey
  • Europe/Kaliningrad
  • Europe/Kiev
  • Europe/Kirov
  • Europe/Lisbon
  • Europe/Ljubljana
  • Europe/London
  • Europe/Luxembourg
  • Europe/Madrid
  • Europe/Malta
  • Europe/Mariehamn
  • Europe/Minsk
  • Europe/Monaco
  • Europe/Moscow
  • Europe/Nicosia
  • Europe/Oslo
  • Europe/Paris
  • Europe/Podgorica
  • Europe/Prague
  • Europe/Riga
  • Europe/Rome
  • Europe/Samara
  • Europe/San_Marino
  • Europe/Sarajevo
  • Europe/Saratov
  • Europe/Simferopol
  • Europe/Skopje
  • Europe/Sofia
  • Europe/Stockholm
  • Europe/Tallinn
  • Europe/Tirane
  • Europe/Tiraspol
  • Europe/Ulyanovsk
  • Europe/Uzhgorod
  • Europe/Vaduz
  • Europe/Vatican
  • Europe/Vienna
  • Europe/Vilnius
  • Europe/Volgograd
  • Europe/Warsaw
  • Europe/Zagreb
  • Europe/Zaporozhye
  • Europe/Zurich
  • Factory
  • GB
  • GB-Eire
  • GMT
  • GMT+0
  • GMT-0
  • GMT0
  • Greenwich
  • HST
  • Hongkong
  • Iceland
  • Indian/Antananarivo
  • Indian/Chagos
  • Indian/Christmas
  • Indian/Cocos
  • Indian/Comoro
  • Indian/Kerguelen
  • Indian/Mahe
  • Indian/Maldives
  • Indian/Mauritius
  • Indian/Mayotte
  • Indian/Reunion
  • Iran
  • Israel
  • Jamaica
  • Japan
  • Kwajalein
  • Libya
  • MET
  • MST
  • MST7MDT
  • Mexico/BajaNorte
  • Mexico/BajaSur
  • Mexico/General
  • NZ
  • NZ-CHAT
  • Navajo
  • PRC
  • PST8PDT
  • Pacific/Apia
  • Pacific/Auckland
  • Pacific/Bougainville
  • Pacific/Chatham
  • Pacific/Chuuk
  • Pacific/Easter
  • Pacific/Efate
  • Pacific/Enderbury
  • Pacific/Fakaofo
  • Pacific/Fiji
  • Pacific/Funafuti
  • Pacific/Galapagos
  • Pacific/Gambier
  • Pacific/Guadalcanal
  • Pacific/Guam
  • Pacific/Honolulu
  • Pacific/Johnston
  • Pacific/Kiritimati
  • Pacific/Kosrae
  • Pacific/Kwajalein
  • Pacific/Majuro
  • Pacific/Marquesas
  • Pacific/Midway
  • Pacific/Nauru
  • Pacific/Niue
  • Pacific/Norfolk
  • Pacific/Noumea
  • Pacific/Pago_Pago
  • Pacific/Palau
  • Pacific/Pitcairn
  • Pacific/Pohnpei
  • Pacific/Ponape
  • Pacific/Port_Moresby
  • Pacific/Rarotonga
  • Pacific/Saipan
  • Pacific/Samoa
  • Pacific/Tahiti
  • Pacific/Tarawa
  • Pacific/Tongatapu
  • Pacific/Truk
  • Pacific/Wake
  • Pacific/Wallis
  • Pacific/Yap
  • Poland
  • Portugal
  • ROC
  • ROK
  • Singapore
  • Turkey
  • UCT
  • US/Alaska
  • US/Aleutian
  • US/Arizona
  • US/Central
  • US/East-Indiana
  • US/Eastern
  • US/Hawaii
  • US/Indiana-Starke
  • US/Michigan
  • US/Mountain
  • US/Pacific
  • US/Samoa
  • UTC
  • Universal
  • W-SU
  • WET
  • Zulu
time_zone

The time zone to set

class nebpyclient.api.npods.NPodSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for nPods

Allows sorting nPods on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.npods.NPodFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, npod_group_uuid: nebpyclient.api.filters.UUIDFilter = None, npod_template_uuid: nebpyclient.api.filters.UUIDFilter = None, npod_base_template_uuid: nebpyclient.api.filters.UUIDFilter = None, spu_serial: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter nPods.

Allows filtering for specific nPods in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

name

Filter based on nPod name

npod_base_template_uuid

Filter based on the base nPod template associated with the nPod

npod_group_uuid

Filter based on the nPod group unique identifier

npod_template_uuid

Filter based on the nPod template associated with the nPod

or_filter

Allows concatenation of multiple filters via logical OR

spu_serial

Filter based on a SPU serial number that is part of the nPod

uuid

Filter based on nPod unique identifiers

class nebpyclient.api.npods.IPInfoConfigInput(dhcp: bool, bond_mode: nebpyclient.api.npods.BondType, interfaces: List[str], address: str = '', netmask_bits: int = 0, gateway: str = '', half_duplex: bool = False, speed_mb: int = 0, locked_speed: bool = False, mtu: int = 1500, bond_transmit_hash_policy: nebpyclient.api.npods.BondTransmitHashPolicy = None, bond_mii_monitor_ms: int = None, bond_lacp_transmit_rate: nebpyclient.api.npods.BondLACPTransmitRate = None)

An input object to configure SPU networking

SPU network configuration is determined at nPod creation. Customers have the option to use static IP addresses for the data network or DHCP. When using DHCP, it is recommended to use static IP reservations for the data networks.

Customers can choose between using two separate networks for the data network or a link aggregation. When using link aggregation, two interface names are expected, one if not.

When specifying an IP address, it can be either IPv4 or IPv6 and supports the CIDR address format.

address

IPv4 or IPv6 address if static IP address is used

bond_lacp_transmit_rate

Allows specifying the LACP transmit rate

bond_mii_monitor_ms

Allows specifying the MII monitor interval

bond_mode

Link aggregation mode for the data interfaces

bond_transmit_hash_policy

Allows specifying the transmit hashing policy

dhcp

Specifies if DHCP should be used for the data network.

gateway

Gateway IP address if static IP address is used

half_duplex

Allows overwriting duplex settings for the interface

interfaces

List of interfaces to include in the configuration

locked_speed

Allows locking interface speed

mtu

Allows specifying MTU

netmask_bits

Netmask in bits if static IP address is used

speed_mb

Allows overwriting interface speed

class nebpyclient.api.npods.NPodSpuInput(spu_serial: str, spu_name: str = None, spu_data_ips: List[nebpyclient.api.npods.IPInfoConfigInput] = None)

An input object to configure SPUs for nPod creation

Allows specifying SPU configuration options when creating a new nPod. Configuration is mostly for network settings.

spu_data_ips

Allows configuring the SPUs network interfaces

spu_name

Human readable name for a SPU. Defaults to SPU serial

spu_serial

Serial number for the SPU

class nebpyclient.api.npods.CreateNPodInput(name: str, npod_group_uuid: str, spus: List[nebpyclient.api.npods.NPodSpuInput], npod_template_uuid: str, note: str = None, timezone: str = 'UTC')

An input object to create a new nPod

A nPod is a collection of network-connected application servers with SPUs installed that form an application cluster. Together, the SPUs in a nPod serve shared or local storage to the servers in the application cluster, e.g. a hypervisor cluster, container platform, or clustered bare metal application.

name

Name of the new nPod

note

An optional note for the new nPod

npod_group_uuid

The unique identifier of the nPod group this nPod will be added to

npod_template_uuid

The unique identifier of the nPod template to use

spus

List of SPU configuration information for SPUs to use

timezone

The timezone to be configured for all SPUs in the nPod

class nebpyclient.api.npods.NPod(response: dict)

Defines a nebulon Pod (nPod)

A nPod is a collection of network-connected application servers with SPUs installed that form an application cluster. Together, the SPUs in a nPod serve shared or local storage to the servers in the application cluster, e.g. a hypervisor cluster, container platform, or clustered bare metal application.

creation_time

The date and time when the nPod was created

host_count

Number of hosts part of this nPod

host_uuids

List of host identifiers part of this nPod

immutable_boot_volumes

If immmutable boot is enabled on nebulon nPod

immutable_boot_volumes_note

A note regarding immutable boot volumes

immutable_boot_volumes_snapshot_time

Point in time at which the immutable boot volume feature was turned on.

name

The name of the nPod

note

An optional note for the nPod

npod_group_uuid

The unique identifier of the nPod group this nPod belongs to

npod_template_uuid

Unique identifier for the nPod template used during nPod creation

recommended_package

Unique identifier for the nPod template used during nPod creation

snapshot_uuids

List of snapshot identifiers defined in this nPod

spu_count

Number of spus part of this nPod

spu_serials

List of serial numbers part of this nPod

update_history

List of updates performed on this nPod

uuid

The unique identifier of the nPod

volume_count

Number of volumes defined in this nPod

volume_uuids

List of volume identifiers defined in this nPod

class nebpyclient.api.npods.NPodList(response: dict)

Paginated nPod list object

Contains a list of nPod objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of nPods in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.npods.NPodCustomDiagnostic(response: dict)

Defines a custom diagnostics script

Custom diagnostics scripts are used by nebulon customer satisfaction when custom commands and diagnostics scripts need to be executed on SPUs in customers datacenters to resolve issues.

Commands cannot be executed without customer approval as they need to be approved and authenticated through the security triangle. Custom diagnostics scripts are the vehicle to facilitate the security triangle.

diagnostic_name

Human readable name for the diagnostic script

note

An optional note for the diagnostics script

npod_uuid

Unique identifier of the nPod on which the script should run

once_only

Indicates that the script will only be executed once

request_uuid

Unique identifier for the diagnostic script

class nebpyclient.api.npods.ExpectedNPodCapacity(response: dict)

Describes information for nPods that are about to be created

Allows predicting of the storage configuration of an nPod before its creation.

template_saving_factor

Savings factor used for the calculation, provided by the template

total_pd_capacity_blk

Total physical drive capacity in blocks (512 bytes)

total_presented_capacity

Total capacity presented to hosts

total_raw_capacity_blk

Total raw capacity in blocks (512 bytes)

total_user_data_capacity_blk

Total usable capacity in blocks (512 bytes)

total_vv_count

Total number of volumes that will be created

class nebpyclient.api.npods.UpdateNPodMembersInput(add_spus: List[nebpyclient.api.npods.NPodSpuInput])

An input object to update (expand) an existing nPod.

The update nPod members operation is used to expand an exisitng nPod with the given input services processing units (SPU).

add_spus

The list of SPUs to expand the nPod

class nebpyclient.api.npods.UpdateImmutableBootInput(enable: bool, snapshot_on_host_reboot: bool = None, note: str = None, preserve_snapshots: bool = None)

Constructs a new input object to update an nPods immutable boot

enable

Enables or disables immutable boot volumes

note

Sets a note regarding immutable boot volumes. May only be specified while enabling.

preserve_snapshots

When disabling immutable boot volumes, retain the snapshots of thier immutable image. The snapshots are now normal snapshots and may be deleted. May only be specified when disabling.

snapshot_on_host_reboot

When enabling immutable boot volumes, wait until the next host reboot to actually take the snapshot. May only be specified while enabling. Defaults to true.

nPod Templates

class nebpyclient.api.npodtemplates.NPodTemplateFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, os: nebpyclient.api.filters.StringFilter = None, app: nebpyclient.api.filters.StringFilter = None, nebulon_template: bool = None, only_last_version: bool = None, and_filter=None, or_filter=None)

A filter object to filter nPod templates

Allows filtering for specific nPod templates in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

app

Filter based on nPod template application name

name

Filter based on nPod template name

nebulon_template

Filter nPod templates for nebulon templates or custom templates

only_last_version

Filter nPod templates for only their latest version

or_filter

Allows concatenation of multiple filters via logical OR

os

Filter based on nPod template operating system name

uuid

Filter based on nPod template unique identifier

class nebpyclient.api.npodtemplates.NPodTemplateSort(name: nebpyclient.api.sorting.SortDirection = None, os: nebpyclient.api.sorting.SortDirection = None, app: nebpyclient.api.sorting.SortDirection = None)

A sort object for nPod templates

Allows sorting nPod templates on common properties. The sort object allows only one property to be specified.

app

Sort direction for the app property

name

Sort direction for the name property

os

Sort direction for the os property

class nebpyclient.api.npodtemplates.CreateNPodTemplateInput(name: str, saving_factor: float, mirrored_volume: bool, boot_volume: bool, os: str, volume_size_bytes: int = None, shared_lun: bool = None, boot_volume_size_bytes: int = None, boot_image_url: str = None, app: str = None, note: str = None, snapshot_schedule_template_uuids: [<class 'str'>] = None, volume_count: int = None)

An input object to create a new nPod template

nPod templates are used during nPod creation and are application specific. The template defines the anticipated data storage savings and the expected storage artifacts. Architects would compile nPod templates and users would consume templates during self-service infrastructure provisioning.

app

Name of the application running on the hosts in the nPod

boot_image_url

Allows specifying a URL to an OS image for the boot volume

boot_volume

Indicates if a boot volume for the OS will be provisioned

boot_volume_size_bytes

Indicates the boot volume size in bytes

mirrored_volume

Indicates if volumes will be mirrored across SPUs in an nPod

name

The unique name of the nPod template

note

An optional note for the nPod template

os

Name of the operating system running on the hosts in the nPod

saving_factor

Anticipated data saving factor after compression and deduplication

shared_lun

Indicates if volumes are shared between all hosts in an nPod

snapshot_schedule_template_uuids

List of associated snapshot schedule templates

volume_count

Indicates how many volumes shall be provisioned by the template

volume_size_bytes

Volume size in bytes

class nebpyclient.api.npodtemplates.UpdateNPodTemplateInput(name: str, volume_size_bytes: int = None, saving_factor: float = None, mirrored_volume: bool = None, shared_lun: bool = None, boot_volume: bool = None, boot_volume_size_bytes: int = None, boot_image_url: str = None, os: str = None, app: str = None, note: str = None, snapshot_schedule_template_uuids: [<class 'str'>] = None, volume_count: int = None)

An input object to update nPod template properties

Every change to a nPod template will create a new version of the template and generate a new unique identifier (uuid). The parent / original nPod template is accessible via the nPod template parent_uuid property.

app

Name of the application running on the hosts in the nPod

boot_image_url

Allows specifying a URL to an OS image for the boot volume

boot_volume

Indicates if a boot volume for the OS will be provisioned

boot_volume_size_bytes

Indicates the boot volume size in bytes

mirrored_volume

Indicates if volumes will be mirrored across SPUs in an nPod

name

The unique name of the nPod template

note

An optional note for the nPod template

os

Name of the operating system running on the hosts in the nPod

saving_factor

Anticipated data saving factor after compression and deduplication

shared_lun

Indicates if volumes are shared between all hosts in an nPod

snapshot_schedule_template_uuids

List of associated snapshot schedule templates

volume_count

Indicates how many volumes shall be provisioned by the template

volume_size_bytes

Volume size in bytes

class nebpyclient.api.npodtemplates.NPodTemplate(response: dict)

Defines a nebulon Pod (nPod) template

nPod templates are used during nPod creation and are application specific. The template defines the anticipated data storage savings and the expected storage artifacts. Architects would compile nPod templates and users would consume templates during self-service infrastructure provisioning.

app

Name of the application running on the hosts in the nPod

boot_image_url

Allows specifying a URL to an OS image for the boot volume

boot_volume

Indicates if a boot volume for the OS will be provisioned

boot_volume_size_bytes

Indicates the boot volume size in bytes

mirrored_volume

Indicates if volumes will be mirrored across SPUs in an nPod

name

The unique name of the nPod template

nebulon_template

Indicates if nebulon created the nPod template

note

An optional note for the nPod template

os

Name of the operating system running on the hosts in the nPod

parent_uuid

The unique identifier of the original template if versioned

saving_factor

Anticipated data saving factor after compression and deduplication

shared_lun

Indicates if volumes are shared between all hosts in an nPod

snapshot_schedule_template_uuids

List of associated snapshot schedule templates

uuid

The unique identifier of the template version

version

The version of the template. Every update creates a new version

volume_count

Indicates how many volumes shall be provisioned by the template

volume_size_bytes

Volume size in bytes

class nebpyclient.api.npodtemplates.NPodTemplateList(response: dict)

Paginated nPod template list object

Contains a list of nPod template objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of nPod templates in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

Physical Drives

class nebpyclient.api.physicaldrives.PhysicalDriveSort(wwn: nebpyclient.api.sorting.SortDirection = None, size_bytes: nebpyclient.api.sorting.SortDirection = None, model: nebpyclient.api.sorting.SortDirection = None, vendor: nebpyclient.api.sorting.SortDirection = None, interface_type: nebpyclient.api.sorting.SortDirection = None)

A sort object for physical drives

Allows sorting physical drives on common properties. The sort object allows only one property to be specified.

interface_type

Sort direction for the interface_type property

model

Sort direction for the model property

size_bytes

Sort direction for the size_bytes property

vendor

Sort direction for the vendor property

wwn

Sort direction for the wwn property

class nebpyclient.api.physicaldrives.PhysicalDriveUpdatesSort(vendor: nebpyclient.api.sorting.SortDirection, model: nebpyclient.api.sorting.SortDirection, npod_uuid: nebpyclient.api.sorting.SortDirection, spu_serial: nebpyclient.api.sorting.SortDirection, wwn: nebpyclient.api.sorting.SortDirection)

A sort object for physical drive updates

Allows sorting physical drive updates on common properties. The sort object allows only one property to be specified.

model

Sort direction for the model property

npod_uuid

Sort direction for the npod_uuid property

spu_serial

Sort direction for the spu_serial property

vendor

Sort direction for the vendor property

wwn

Sort direction for the wwn property

class nebpyclient.api.physicaldrives.PhysicalDriveFilter(wwn: nebpyclient.api.filters.StringFilter = None, size_bytes: nebpyclient.api.filters.IntFilter = None, model: nebpyclient.api.filters.StringFilter = None, vendor: nebpyclient.api.filters.StringFilter = None, interface_type: nebpyclient.api.filters.StringFilter = None, spu_serial: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter physical drives.

Allows filtering for specific physical drives in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

interface_type

Filter based on physical drive interface

model

Filter based on physical drive model

or_filter

Allows concatenation of multiple filters via logical OR

size_bytes

Filter based on physical drive size

spu_serial

Filter based on the SPU the drives are attached to

vendor

Filter based on physical drive vendor

wwn

Filter based on physical drive WWN

class nebpyclient.api.physicaldrives.PhysicalDriveUpdatesFilter(npod_uuid: nebpyclient.api.filters.UUIDFilter, spu_serial: nebpyclient.api.filters.StringFilter, and_filter=None, or_filter=None)

A filter object to filter physical drive updates

Allows filtering for specific physical drive updates in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

npod_uuid

Allows filtering based on nPod unique identifier

or_filter

Allows concatenation of multiple filters via logical OR

spu_serial

Allows filtering based on SPU serial number

class nebpyclient.api.physicaldrives.LocatePhysicalDriveInput(wwn: str, duration_seconds: int)

An input object to turn on the physical drive locate LED

Allows turning on the locate LED of a physical drive identified by WWN to easily find it in a server.

duration_seconds

Number of seconds after which the locate LED will turn off

wwn

The world-wide name of the physical drive

class nebpyclient.api.physicaldrives.UpdatePhysicalDriveFirmwareInput(accept_eula: bool, npod_uuid: str = None, spu_serial: str = None)

An input object to update physical drive firmware

Allows updating all physical drives in an SPU or nPod to the recommended drive firmware level

accept_eula

Indicates if the user accepts the end user license agreement

npod_uuid

The nPod unique identifier

spu_serial

The SPU serial number

class nebpyclient.api.physicaldrives.PhysicalDrive(response: dict)

A physical drive

Represents a physical drive that is attached to a services processing unit in a server.

firmware_revision

The firmware revision of the physical drive

interface_type

The interface type of the physical drive

media_type

The media type of the physical drive

model

The model of the physical drive

position

The position or slot in the host’s storage enclosure

serial

The serial number of the physical drive

size_bytes

The physical capacity of the physical drive in bytes

spu_serial

The serial number of the SPU that the physical drive connects to

state

The physical drive state

unadmitted

Indicates if the physical drive is not yet used for data storage

update_failure

Status information of a previous firmware update failure

vendor

The vendor for the physical drive

wwn

The unique world-wide name of the physical drive

class nebpyclient.api.physicaldrives.PhysicalDriveList(response: dict)

Paginated physical drive list object

Contains a list of datacenter objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of physical drive in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.physicaldrives.PhysicalDriveUpdate(response)

An update for a physical drive

nebulon ON only reports recommended physical drive updates.

eula_url

The URL to the end-user license agreement for the firmware

model

The model of the physical drive this update is relevant for

new_firmware_rev

The firmware revision this update will install

npod_uuid

The unique identifier of the nPod this update is relevant for

old_firmware_rev

The firmware revision this update replaces

spu_serial

The serial number of the SPU this update is relevant for

vendor

The vendor of the physical drive this update is relevant for

wwn

The unique WWN of the physical drive this update is relevant for

class nebpyclient.api.physicaldrives.PhysicalDriveUpdatesList(response: dict)

Paginated physical drive update list object

Contains a list of physical drive update objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of physical drive updates in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

Role-Based Access Control

class nebpyclient.api.rbac.RBACRoleSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for RBAC roles

Allows sorting RBAC roles on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.rbac.RBACRoleFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter RBAC roles

Allows filtering for specific RBAC roles in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

name

Filter based on RBAC role name

or_filter

Allows concatenation of multiple filters via logical OR

uuid

Filter based on RBAC role unique identifier

class nebpyclient.api.rbac.CreateRBACRoleInput(name: str, rights: [<class 'str'>], description: str = None)

An input object to create a RBAC role

Roles in role-based access control define a set of permissions (rights) that can be assigned to user groups according to their responsibilities. Rights can be added and removed if these responsibilities change and propagate to any user that is associated with a role.

Rights are defined through a string with the format {resource}/{permission}, where the following resources are available:

  • *
  • Datacenter
  • Lab
  • Audit
  • Alert
  • FirmwareUpdate
  • UserGroup
  • nPodGroup
  • Volume
  • PhysicalDrive
  • User
  • nPod
  • SnapshotScheduleTemplate
  • SPU
  • Row
  • Rack
  • nPodTemplate
  • SnapshotSchedule
  • Host
  • LUN
  • Webhook

The following permissions are available:

  • * - everything is permitted
  • read - read operations are permitted
  • create - create operations are permitted
  • update - update operations are permitted
  • delete - delete operations are permitted

> [!NOTE] > The number and type of permissions and resources may change over time and > users can query the currently available resources and permissions with > the get_metadata query.

description

Description of the RBAC role and associated rights

name

Human readable name for the RBAC role

rights

List of rights definitions for the RBAC role

class nebpyclient.api.rbac.UpdateRBACRoleInput(name: str = None, rights: [<class 'str'>] = None, description: str = None)

An input object to update properties a RBAC role

Roles in role-based access control define a set of permissions (rights) that can be assigned to user groups according to their responsibilities. Rights can be added and removed if these responsibilities change and propagate to any user that is associated with a role.

Rights are defined through a string with the format {resource}/{permission}, where the following resources are available:

  • *
  • Datacenter
  • Lab
  • Audit
  • Alert`
  • FirmwareUpdate
  • UserGroup
  • nPodGroup
  • Volume
  • PhysicalDrive
  • User
  • nPod
  • SnapshotScheduleTemplate
  • SPU
  • Row
  • Rack
  • nPodTemplate
  • SnapshotSchedule
  • Host
  • LUN
  • Webhook

The following permissions are available:

  • * - everything is permitted
  • read - read operations are permitted
  • create - create operations are permitted
  • update - update operations are permitted
  • delete - delete operations are permitted

> [!NOTE] > The number and type of permissions and resources may change over time and > users can query the currently available resources and permissions with > the get_metadata query.

description

Description of the RBAC role and associated rights

name

Human readable name for the RBAC role

rights

List of rights definitions for the RBAC role

class nebpyclient.api.rbac.RBACRole(response: dict)

A role definition for role-based access control (RBAC)

Roles in role-based access control define a set of permissions (rights) that can be assigned to user groups according to their responsibilities. Rights can be added and removed if these responsibilities change and propagate to any user that is associated with a role.

Rights are defined through a string with the format {resource}/{permission}, where the following permissions are defined:

  • * - everything is permitted
  • read - read operations are permitted
  • create - create operations are permitted
  • update - update operations are permitted
  • delete - delete operations are permitted
custom

Indicates if the RBAC role was user defined

description

A comprehensive description of the role and associated rights

name

Human readable name of the RBAC role

rights

List of rights definitions in this RBAC role

uuid

Unique identifier of the RBAC role

class nebpyclient.api.rbac.RBACRoleList(response: dict)

Paginated RBAC role list object

Contains a list of RBAC role objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of RBAC roles in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.rbac.RBACPolicyList(response: dict)

Paginated RBAC policy list object

Contains a list of RBAC policy objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of RBAC policies in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.rbac.RBACPolicyFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, role_uuid: nebpyclient.api.filters.UUIDFilter = None, and_filter=None, or_filter=None)

A filter object to filter RBAC policies

Allows filtering for specific RBAC policies in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

or_filter

Allows concatenation of multiple filters via logical OR

role_uuid

Filter based on RBAC role unique identifier

uuid

Filter based on RBAC policy unique identifier

class nebpyclient.api.rbac.CreateRBACPolicyInput(role_uuid: str, scopes: [<class 'str'>])

An input object to create a RBAC policy

Policies in role-based access control associate RBAC roles with users and resources in nebulon ON. Scopes can be added and removed from policies, users and user groups can be added and removed from policies. Nebulon ON will not allow two policies with the same definition.

Scopes are defined through a string with the format /nPodGroup/{npod_group_uuid}/nPod/{npod_uuid} with varying length. For example:

  • /nPodGroup/* scopes the policy to all nPod groups in the organization.
  • /nPodGroup/{npod_group_uuid}/nPod/* scopes the policy to a specific nPod group in the organization and all nPods in this group.
  • /nPodGroup/{npod_group_uuid}/nPod/{npod_uuid} scopes the policy to a specific nPod.

User groups are not added and removed from a policy through this API, but through the users API. Use create_user_group, update_user_group for adding and removing user groups to RBAC policies and similarly create_user and update_user.

role_uuid

The RBAC role unique identifier to associate with the policy

scopes

List of scope definitions that this policy applies to

class nebpyclient.api.rbac.UpdateRBACPolicyInput(scopes: [<class 'str'>] = None)

An input object to update RBAC policy properties

Policies in role-based access control associate RBAC roles with users and resources in nebulon ON. Scopes can be added and removed from policies, users and user groups can be added and removed from policies. Nebulon ON will not allow two policies with the same definition.

Scopes are defined through a string with the format /nPodGroup/{npod_group_uuid}/nPod/{npod_uuid} with varying length. For example:

  • /nPodGroup/* scopes the policy to all nPod groups in the organization.
  • /nPodGroup/{npod_group_uuid}/nPod/* scopes the policy to a specific nPod group in the organization and all nPods in this group.
  • /nPodGroup/{npod_group_uuid}/nPod/{npod_uuid} scopes the policy to a specific nPod.

User groups are not added and removed from a policy through this API, but through the users API. Use create_user_group, update_user_group for adding and removing user groups to RBAC policies and similarly create_user and update_user.

scopes

List of scope definitions that this policy applies to

class nebpyclient.api.rbac.RBACPolicy(response: dict)

A RBAC policy object

Policies in role-based access control associate RBAC roles with users and resources in nebulon ON. Scopes can be added and removed from policies, users and user groups can be added and removed from policies. Nebulon ON will not allow two policies with the same definition.

Scopes are defined through a string with the format /nPodGroup/{npod_group_uuid}/nPod/{npod_uuid} with varying length. For example:

  • /nPodGroup/* scopes the policy to all nPod groups in the organization
  • /nPodGroup/{npod_group_uuid}/nPod/* scopes the policy to a specific nPod
    group in the organization and all nPods in this group.
  • /nPodGroup/{npod_group_uuid}/nPod/{npod_uuid} scopes the policy to a
    specific nPod.
role_uuid

The unique identifier of the RBAC role in this policy

scopes

List of scopes this RBAC policy applies to

user_group_uuids

List of unique identifiers of user groups in the RBAC policy

user_uuids

List of unique identifiers of explicit users in the RBAC policy

uuid

The unique identifier of the RBAC policy

class nebpyclient.api.rbac.RBACPolicySort(role_name: nebpyclient.api.sorting.SortDirection = None)

A sort object for RBAC policies

Allows sorting RBAC policies on common properties. The sort object allows only one property to be specified.

role_name

Sort direction for the name property of the associated role

Recipes

class nebpyclient.api.recipe.RecipeRecord(response: dict)

A recipe record

A recipe record describes the status of the execution of a mutation that affects on-premises infrastructure. Status information of such mutations are recorded in recipe records.

cancel_recipe_uuid

The identifier of the recipe used for canceling

coordinator_spu_serial

The serial number of the SPU that coordinates recipe execution

last_update

Date and time when nebulon ON last got an update on recipe status

npod_uuid

The identifier of the nPod that is involved in the recipe

recipe_uuid

Unique identifier of the recipe

start

Date and time when the recipe execution started

state

Status of the recipe execution

status

Status description of the recipe execution

type

Type of recipe

class nebpyclient.api.recipe.RecipeType

Type of recipe

class nebpyclient.api.recipe.RecipeRecordList(response: dict)

List of recipes

cursor

Cursor used for pagination

items

List of recipe items

class nebpyclient.api.recipe.RecipeState

Status of the recipe execution

Session

class nebpyclient.api.session.LoginState(response: dict)

Represents the session state of a user

expiration

Describes when the session expires

organization

Name of the organization for this session

user_uuid

The user identifier of the user for this session

username

The name of the user for this session

class nebpyclient.api.session.LoginResults(response: dict)

Result of a login request

change_password

Indicates if a user in the org requires a password change

eula_accepted

Indicates if a user in the org has accepted the EULA

expiration

Describes when the session will expire

message

A message describing the login result

need_two_factor_authentication

Indicates if two factor authentication is required

organization_name

The name of the organization the user logged in

success

Indicates if the login was successful

user_preferences

User preferences associated with the logged in user

user_uuid

The unique identifier of the user that logged in

Snapshots

class nebpyclient.api.snapshots.SnapshotConsistencyLevel

Defines the snapshot consistency level for snapshots

class nebpyclient.api.snapshots.ScheduleInput(minute: [<class 'int'>] = None, hour: [<class 'int'>] = None, day_of_week: [<class 'int'>] = None, day_of_month: [<class 'int'>] = None, month: [<class 'int'>] = None)

An input object to create a schedule

Schedules are used to perform operations automatically. The schedule defines when and how often the operations are executed.

day_of_month

The days in the month when an operation should be executed

day_of_week

The days of the week when an operation should be executed

hour

The hours of the time when an operation should be executed

minute

The minutes of the time when an operation should be executed

month

The months in the year when an operation should be executed

class nebpyclient.api.snapshots.SnapshotScheduleTemplateSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for snapshot schedule templates

Allows sorting snapshot schedule templates on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.snapshots.SnapshotScheduleTemplateFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter snapshot schedule templates

Allows filtering for specific snapshot schedule templates in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

name

Filter based on snapshot schedule template name

or_filter

Allows concatenation of multiple filters via logical OR

uuid

Filter based on snapshot schedule template unique identifier

class nebpyclient.api.snapshots.CreateSnapshotScheduleTemplateInput(name: str, name_pattern: str, schedule: nebpyclient.api.snapshots.ScheduleInput, expiration_seconds: int = None, retention_seconds: int = None, ignore_boot_volumes: bool = None)

An input object to create a snapshot schedule template

Allows the creation of snapshot schedule templates. Snapshot schedule templates are used to consistently provision snapshot schedules across nPods. They are referenced in nPod templates and are provisioned when a nPod is formed from such a template.

consistency_level

Snapshot consistency level. Currently always set to Volume

expiration_seconds

Time in seconds when snapshots will be automatically deleted

ignore_boot_volumes

Specifies if boot volumes are ignored by the schedule or included

name

Name for the snapshot schedule template

name_pattern

A naming pattern for the snapshots created by the schedule

retention_seconds

Time in seconds that prevents users from deleting snapshots

schedule

The schedule in which snapshots will be created

class nebpyclient.api.snapshots.UpdateSnapshotScheduleTemplateInput(name: str = None, name_pattern: str = None, schedule: nebpyclient.api.snapshots.ScheduleInput = None, expiration_seconds: int = None, retention_seconds: int = None, ignore_boot_volumes: bool = None)

An input object to update snapshot schedule template properties

Allows updating of snapshot schedule template properties. Snapshot schedule templates are used to consistently provision snapshot schedules across nPods. They are referenced in nPod templates and are provisioned when a nPod is formed from such a template.

consistency_level

Snapshot consistency level. Currently always set to Volume

expiration_seconds

Time in seconds when snapshots will be automatically deleted

ignore_boot_volumes

Specifies if boot volumes are ignored by the schedule or included

name

Name for the snapshot schedule template

name_pattern

A naming pattern for the snapshots created by the schedule

retention_seconds

Time in seconds that prevents users from deleting snapshots

schedule

The schedule in which snapshots will be created

class nebpyclient.api.snapshots.Schedule(response: dict)

A schedule object

Schedules are used to perform operations automatically. The schedule defines when and how often the operations are executed.

day_of_month

The days in the month when an operation should be executed

day_of_week

The days of the week when an operation should be executed

hour

The hours of the day when an operation should be executed

minute

The minutes of the hour when an operation should be executed

month

The months in the year when an operation should be executed

class nebpyclient.api.snapshots.SnapshotScheduleTemplate(response: dict)

A snapshot schedule template object

Snapshot schedule templates are used to consistently provision snapshot schedules across nPods. They are referenced in nPod templates and are provisioned when a nPod is formed from such a template.

associated_npod_template_count

The number of nPod templates that make use of this template

associated_schedule_count

The number of provisioned snapshot schedules from this template

consistency_level

Snapshot consistency level. Always set to Volume

expiration_seconds

Time in seconds when snapshots will be automatically deleted

ignore_boot_volumes

Specifies if boot volumes are ignored by the schedule or included

name

Name for the snapshot schedule template

name_pattern

A naming pattern for the snapshots created by the schedule

retention_seconds

Time in seconds that prevents users from deleting snapshots

schedule

The schedule in which snapshots will be created

uuid

The unique identifier of the snapshot schedule template

class nebpyclient.api.snapshots.SnapshotScheduleTemplateList(response: dict)

Paginated snapshot schedule template list

Contains a list of snapshot schedule template objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of snapshot schedule templates in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.snapshots.NPodSnapshotSchedule(response)

A snapshot schedule that is defined for an entire nPod

nPod snapshot schedules are defined for the entire nPod vs. for individual volumes. They are centrally configured through a template or on-demand and apply to every volume in an nPod.

consistency_level

Defines the consistency level when snapshotting multiple volumes

day_of_month

The days in the month when a snapshot is created

day_of_week

The days of the week when a snapshot is created

expiration_seconds

Time in seconds when snapshots will be automatically deleted

hour

The hours of the day when a snapshot is created

ignore_boot_volumes

Specifies if boot volumes are ignored by the schedule or included

minute

The minutes of the hour when a snapshot is created

month

The months in the year when a snapshot is created

name_pattern

A naming pattern for the snapshots created by the schedule

retention_seconds

Time in seconds that prevents users from deleting snapshots

snapshot_count

The number of snapshots created from this schedule

snapshot_schedule_template_uuid

Unique identifiers of the templates that created this schedule

snapshot_uuids

Unique identifiers of the snapshots created from this schedule

spu_serial

The SPU serial number on which the schedule is defined

uuid

The unique identifier for the nPod snapshot schedule

Services Processing Units (SPU)

class nebpyclient.api.spus.SpuSort(serial: nebpyclient.api.sorting.SortDirection = None)

A sort object for services processing units (SPU)

Allows sorting SPUs on common properties. The sort object allows only one property to be specified.

serial

Sort direction for the serial property

class nebpyclient.api.spus.SpuFilter(serial: nebpyclient.api.filters.StringFilter = None, not_in_npod: bool = None, host_ioc_wwn: nebpyclient.api.filters.StringFilter = None, storage_ioc_wwn: nebpyclient.api.filters.StringFilter = None, npod_uuid: nebpyclient.api.filters.UUIDFilter = None, and_filter=None, or_filter=None)

A filter object to filter services processing units (SPU)

Allows filtering for specific SPUs registered in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

host_ioc_wwn

Filter by SPU’s host I/O controller

not_in_npod

Filter by SPUs that are not in a nPod

npod_uuid

Filter by the SPU’s nPod UUID

or_filter

Allows concatenation of multiple filters via logical OR

serial

Filter by SPU serial number

storage_ioc_wwn

Filter by the SPU’s storage I/O controller

class nebpyclient.api.spus.DebugInfoInput(npod_uuid: str = None, spu_serial: str = None, note: str = None, support_case_number: str = None)

An input object to collect debug information

Allows collecting verbose debug information from services processing units or nPods. Allows nebulon support to collect more detailed information about a customer’s infrastructure.

Use the note and suportCaseNumber properties for providing additional information for nebulon support.

Either nopd_uuid or spu_serial must be specified. If a nPod is referenced, the debug information is collected from all SPUs in the nPod, otherwise only from the SPU that is identified by the provided serial number.

note

An optional note to add to the debug information

npod_uuid

The nPod UUID for which to collect debug information

spu_serial

The serial number of the SPU for which to collect debug information

support_case_number

An optional support case number reference

class nebpyclient.api.spus.NTPServerInput(server_hostname: str, pool: bool = None, prefer: bool = None)

An input object to configure a NTP server

NTP servers are used for automatic time configuration on the services processing unit (SPU). The SPU has default network time servers (NTP) configured. However, customers can customize them if the default NTP servers are not accessible or different time settings are required.

pool

Indicates if the specified NTP server hostname is a NTP pool

prefer

Indicates if the specified NTP server is the preferred NTP server

server_hostname

The DNS hostname of the NTP server

class nebpyclient.api.spus.SecureEraseSPUInput(spu_serial: str)

An input object to secure-erase a services processing unit (SPU)

The secure erase functionality allows a deep-erase of data stored on the physical drives attached to the SPU. Only SPUs that are not part of a nPod can be secure-erased.

spu_serial

The serial number of the SPU

class nebpyclient.api.spus.ReplaceSpuInput(previous_spu_serial: str, new_spu_info: nebpyclient.api.npods.NPodSpuInput)

An input object to replace a services processing unit (SPU)

The replace services processing unit (SPU) operation is used to transition the configuration of an old, likely failed, SPU to a new replacement unit and allows modifying the configuration during the process.

new_spu_info

Configuration information for the new SPU

previous_spu_serial

The serial number of the old SPU that is being replaced

class nebpyclient.api.spus.SetNTPServersInput(servers: [<class 'nebpyclient.api.spus.NTPServerInput'>], spu_serial: str = None, npod_uuid: str = None)

An input object to configure NTP servers

NTP servers are used for automatic time configuration on the services processing unit (SPU). The SPU has default network time servers (NTP) configured. However, customers can customize them if the default NTP servers are not accessible or different time settings are required.

npod_uuid

The unique identifier of the nPod

servers

List of NTP server configurations that shall be applied to an SPU

spu_serial

The serial number of the services processing unit

class nebpyclient.api.spus.NTPServer(response: dict)

A network time protocol server

NTP servers are used for automatic time configuration on the services processing unit (SPU).

pool

Indicates if the specified NTP server hostname is a NTP pool

prefer

Indicates if the specified NTP server is the preferred NTP server

server_hostname

The DNS hostname of the NTP server

class nebpyclient.api.spus.IPInfoState(response: dict)

A state for IP configuration of a SPU logical network interface

addresses

List of IPv4 or IPv6 addresses in CIDR format

bond_lacp_transmit_rate

The active LACP transmit rate for the link aggregation

bond_mii_monitor_milli_seconds

The active MII monitoring interval in ms for the link aggregation

bond_mode

The link aggregation mode for the interface

bond_transmit_hash_policy

The active transmit hash policy for the link aggregation

dhcp

Indicates if DHCP is used for IP addressing

display_interface_names

The human readable names of the physical interfaces for the logical interface

gateway

The gateway IP address specified for the interface

half_duplex

Indicates if the interface operates in half-duplex

interface_mac

The physical address of the interface

interface_names

The names of the physical interfaces for the logical interface

Indicates if the interface has a link

locked_speed

Indicates if the network interface speed is locked

mtu

maximum transfer unit

netmask_bits

Indicated the netmask bits

speed

Indicates the network interface speed

switch_mac

The physical address of the switch port this interface connects to

switch_name

The name of the switch this interface connects to

switch_port

The port identifier of the switch this interface connects to

class nebpyclient.api.spus.Spu(response: dict)

A services processing unit

control_interface

Network information for the control interface

data_interfaces

Network information for the data interfaces

host_uuid

The unique identifier of the host the SPU is installed in

hw_revision

The hardware revision of the SPU

last_reported

Date and time when the SPU last reported state to nebulon ON

lun_count

Number of provisioned LUNs on the SPU

npod_member_can_talk_count

Number of SPUs that can successfully communicate with each other

npod_uuid

The services processing unit’s nPod identifier

ntp_servers

List of configured NTP servers

ntp_status

Status message for NTP

physical_drive_count

Number of physical drives attached to the SPU

recovery_version

Recovery version configured for the SPU

reset_reason_int

A int representation of the reason why a SPU was reset

reset_reason_string

A string representation of the reason why a SPU was reset

serial

The unique serial number of the SPU

spu_type

The type of SPU

time_zone

The configured time zone

uefi_version

Version for UEFI

update_history

List of historical updates that were applied to the SPU

uptime_seconds

Uptime of the services processing unit in seconds

version

The version of nebOS that is running on the SPU

version_package_names

List of package names installed on the SPU

wiping

Indicates if the SPU is doing a secure wipe

class nebpyclient.api.spus.SpuList(response: dict)

Paginated services processing unit (SPU) list

Contains a list of SPU objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of SPUs in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.spus.SpuCustomDiagnostic(response: dict)

A staged custom diagnostics request

SPU custom diagnostics requests allows customers to run arbitrary diagnostic commands on the services processing units as part of troubleshooting issues during a support case.

diagnostic_name

The human readable name of the custom diagnostic request

note

An optional note for the diagnostic request

once_only

Indicates if this request will disappear after execution

request_uuid

The unique identifier or the custom diagnostic request

spu_serial

The serial number of the SPU on which to run diagnostic

Updates

class nebpyclient.api.updates.NebPackagePriority

Indicates the importance for installing a nebulon package

Critical = 'Critical'

Indicates a critical update

Normal = 'Normal'

Indicates a routine installation package

class nebpyclient.api.updates.NebPackageType

Indicates the type of software package

Base = 'Base'

Baseline package that includes major changes to nebOS

Patch = 'Patch'

A patch package that resolves a specific issue with nebOS

class nebpyclient.api.updates.PackageInfo(response: dict)

A nebulon update package

Represents a software bundle for nebulon services processing units and all related metadata. This information is used for updating nebulon services processing units to a specific nebOS version.

eligible_npod_uuids

List of nPod unique identifiers that can install this package

lts_version

Indicates if the software package is under long-term support

offline

Indicates if the update is done offline

package_description

Description for the package

package_name

The name of the nebulon update package

package_priority

Indicates the importance for installing a nebulon package

package_size_bytes

The size of the update package in bytes

package_type

Type of the nebOS installation package

patch_number

The patch number if it is a patch

prerequisites

Describes the prerequisites for the package

release_date

The release date

release_notes_url

A URL to the release notes of the package

support_state

Indicates the package’s support state

version_number

The version number if it is a nebOS package

class nebpyclient.api.updates.RecommendedPackages(response: dict)

Recommended packages for customers

Recommended packages indicate the currently recommended packages for customers given their current version and hardware.

base_version

Indicates the base version for the recommended package

package_info

Information concerning the update package

package_name

The name of the package that is recommended

spu_type

Indicates the type of SPU for which the package is recommended

class nebpyclient.api.updates.AvailablePackagesSort(package_name: nebpyclient.api.sorting.SortDirection = None, release_date: nebpyclient.api.sorting.SortDirection = None)

A sort object for services processing units (SPU)

Allows sorting SPUs on common properties. The sort object allows only one property to be specified.

package_name

Sort direction for the serial property

release_date

Sort direction for the serial property

class nebpyclient.api.updates.AvailablePackagesFilter(package_name: nebpyclient.api.filters.StringFilter = None, package_type: nebpyclient.api.updates.NebPackageType = None, package_priority: nebpyclient.api.updates.NebPackagePriority = None, and_filter=None, or_filter=None)

A filter object to filter software packages

Allows filtering for specific software packages in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

or_filter

Allows concatenation of multiple filters via logical OR

package_name

Filter based on package name

package_priority

Filter by package priority

package_type

Filter by package type

class nebpyclient.api.updates.PackageInfoList(response: dict)

Paginated software packages list

Contains a list of software package objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of software packages in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.updates.UpdateStateSpu(response: dict)

An object describing the current state of an update installation

download_progress_pct

Download progress in percent

failure_log

Contains information about update errors

last_changed

Date and time when the SPU last reported update status

package_name

The name of the package that is installed

restart_complete

Indicates if nebOS has completed the restart

restarting

Indicates if nebOS is restarting

spu_serial

The serial number for the SPU on which the update is installed

started_install

Indicates if the SPU has started installing the SPU

update_id

The identifier of the update

waiting_for_scheduled

Indicates that the SPU is waiting for a scheduled update

waiting_for_spu_serial

Indicates if the SPU is waiting for a SPU to complete its update

class nebpyclient.api.updates.UpdateHistory(response: dict)

An object describing past updates

finish

Date and time when the update completed

package_name

The name of the package that is installed

start

Date and time when the update started

success

Indicates if the update completed successfully

update_id

The identifier of the update

class nebpyclient.api.updates.NPodRecommendedPackage(response: dict)

A nebulon update recommendation

This information is used to indicate package installation recommendations for nPods.

offline

Indicates if the installation requires stopping I/O

package_name

The name of the nebulon update package

priority

The importance for installing the recommended package

User Groups

class nebpyclient.api.usergroups.UserGroupSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for user groups

Allows sorting user groups on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.usergroups.UserGroupFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, and_filter=None, or_filter=None)

A filter object to filter user groups

Allows filtering for specific user groups in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

name

Filter based by user group names

or_filter

Allows concatenation of multiple filters via logical OR

uuid

Filter by user group’s unique identifiers

class nebpyclient.api.usergroups.CreateUserGroupInput(name: str, policy_uuids: [<class 'str'>], note: str = None)

An input object to create a new user group in nebulon ON

User groups allow grouping users for more convenient management of permissions and policies

name

The unique name of the user group

note

An optional note for the user group

policy_uuids

List of RBAC policies associated with the user group

class nebpyclient.api.usergroups.UpdateUserGroupInput(name: str = None, user_uuids: [<class 'str'>] = None, policy_uuids: [<class 'str'>] = None, note: str = None)

An input object to update properties of a user group in nebulon ON

User groups allow grouping users for more convenient management of permissions and policies

name

The name of the user group

note

An optional note for the user group

policy_uuids

List of RBAC policies associated with the user group

user_uuids

List of user identifiers that the group shall contain

class nebpyclient.api.usergroups.UserGroup(response: dict)

A user group in nebulon ON

User groups allow grouping users for more convenient management of permissions and policies

custom

Indicates if the user group is a custom group

name

The name of the user group

note

An optional note for the user

policy_uuids

List of RBAC policies associated with the user group

user_uuids

List of user unique identifiers that are part of the group

uuid

The unique identifier of the user group in nebulon ON

class nebpyclient.api.usergroups.UserGroupList(response: dict)

Paginated user group list

Contains a list of user group objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of user groups in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

Users

class nebpyclient.api.users.SendNotificationType

Defines a user’s notification preferences

Daily = 'Daily'

The user will receive a daily digest of alerts over the last 24 hours

Disabled = 'Disabled'

No email notifications are sent to the user

Instant = 'Instant'

The user will receive email notifications as events are triggered

class nebpyclient.api.users.UserSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for users

Allows sorting users on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

class nebpyclient.api.users.UserFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, email: nebpyclient.api.filters.StringFilter = None, inactive: bool = None, and_filter=None, or_filter=None)

A filter object to filter users

Allows filtering for specific user objects in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

email

Filter based on user email address

inactive

Filter for users that are marked as inactive

name

Filter based on user name

or_filter

Allows concatenation of multiple filters via logical OR

uuid

Filter based on users unique identifier

class nebpyclient.api.users.UserPreferencesInput(send_notification: nebpyclient.api.users.SendNotificationType = None, time_zone: str = None, show_base_two: bool = None, date_format: nebpyclient.api.common.DateFormat = None)

An input object to define user preferences

User preferences define settings and configuration options for individual user accounts in nebulon ON that are not globally configured.

date_format

Specifies the user’s preferred date and time formatting

send_notification

Specifies if and the rate at which the user receives notifications

show_base_two

Specifies if the user wants capacity values displayed in base2

time_zone

Specifies the time zone of the user

class nebpyclient.api.users.UpdateUserInput(name: str = None, password: str = None, note: str = None, email: str = None, user_group_uuids: [<class 'str'>] = None, first_name: str = None, last_name: str = None, mobile_phone: str = None, business_phone: str = None, inactive: bool = None, policy_uuids: [<class 'str'>] = None, send_notification: nebpyclient.api.users.SendNotificationType = None, time_zone: str = None)

An input object to update properties of a user in nebulon ON

business_phone

The business phone number of the user

email

The business email address for the user

first_name

The user’s first name

inactive

Indicates if the user shall be marked as inactive / disabled

last_name

The user’s last name

mobile_phone

The mobile phone number of the user

name

The new name of the user

note

An optional note for the user

password

The new password of the user

policy_uuids

List of RBAC policies associated with the user

send_notification

The user’s notification preferences for alerts

time_zone

The user’s time zone

user_group_uuids

Unique identifiers of user groups the user shall be part of

class nebpyclient.api.users.CreateUserInput(name: str, password: str, email: str, user_group_uuid: str, first_name: str, last_name: str, note: str = None, mobile_phone: str = None, business_phone: str = None, inactive: bool = None, policy_uuids: [<class 'str'>] = None, send_notification: nebpyclient.api.users.SendNotificationType = None, time_zone: str = None)

An input object to create a new user account in nebulon ON

business_phone

The business phone number of the user

email

The business email address for the user

first_name

The user’s first name

inactive

Indicates if the user is marked as inactive / disabled

last_name

The user’s last name

mobile_phone

The mobile phone number of the user

name

The name of the user

note

An optional note for the user

password

The password of the user

policy_uuids

List of RBAC policies associated with the user

send_notification

The user’s notification preferences for alerts

time_zone

The user’s time zone

user_group_uuid

Unique identifier of the user group the user shall be part of

class nebpyclient.api.users.UserPreferences(response: dict)

Settings and configuration options for a user

User preferences define settings and configuration options for individual user accounts in nebulon ON that are not globally configured.

date_format

Specifies the user’s preferred date and time formatting

send_notification

Specifies if and the rate at which the user receives notifications

show_base_two

Specifies if the user wants capacity values displayed in base2

time_zone

Specifies the time zone of the user

class nebpyclient.api.users.User(response: dict)

A user in nebulon ON

business_phone

The business phone number of the user

change_password

Indicates if the user has to change the password during next login

change_password_reason

Indicates the reason why a user has to change their password

email

The business email address for the user

first_name

The user’s first name

group_uuids

List of user group unique identifiers the user is part of

inactive

Indicates if the user is marked as inactive / disabled

last_name

The user’s last name

mobile_phone

The mobile phone number of the user

name

The name of the user

note

An optional note for the user

policy_uuids

List of RBAC policies associated with the user

preferences

The user’s personal preferences

support_contact_id

The user identifier for support purposes (OEM)

uuid

The unique identifier of the user in nebulon ON

class nebpyclient.api.users.UserList(response: dict)

Paginated list of users

Contains a list of user objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of users in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

Volumes

class nebpyclient.api.volumes.VolumeSyncState

Represents volume sync status for mirrored volumes

InSync = 'InSync'

The volume is healthy and all data is in-sync

NotMirrored = 'NotMirrored'

The volume is not mirrored

Syncing = 'Syncing'

The volume is unhealthy and data is currently synchronizing

Unknown = 'Unknown'

The volume sync status is unavailable

Unsynced = 'Unsynced'

The volume is unhealthy and data is currently not synchronizing

class nebpyclient.api.volumes.VolumeSort(name: nebpyclient.api.sorting.SortDirection = None, wwn: nebpyclient.api.sorting.SortDirection = None, size_bytes: nebpyclient.api.sorting.SortDirection = None, creation_time: nebpyclient.api.sorting.SortDirection = None, expiration_time: nebpyclient.api.sorting.SortDirection = None)

A sort object for volumes

Allows sorting volumes on common properties. The sort object allows only one property to be specified.

creation_time

Sort direction for the creation_time property

expiration_time

Sort direction for the expiration_time property

name

Sort direction for the name property

size_bytes

Sort direction for the size_bytes property

wwn

Sort direction for the wwn property

class nebpyclient.api.volumes.VolumeFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, wwn: nebpyclient.api.filters.StringFilter = None, size_bytes: nebpyclient.api.filters.IntFilter = None, npod_uuid: nebpyclient.api.filters.UUIDFilter = None, snapshots_only: bool = None, base_only: bool = None, creation_time: nebpyclient.api.filters.IntFilter = None, expiration_time: nebpyclient.api.filters.IntFilter = None, parent_uuid: nebpyclient.api.filters.UUIDFilter = None, parent_name: nebpyclient.api.filters.StringFilter = None, natural_owner_spu_serial: nebpyclient.api.filters.StringFilter = None, natural_backup_spu_serial: nebpyclient.api.filters.StringFilter = None, sync_state: nebpyclient.api.volumes.VolumeSyncState = None, and_filter=None, or_filter=None)

A filter object to filter volumes

Allows filtering for specific volumes registered in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

base_only

Filter for only base volumes

creation_time

Filter based on creation time

expiration_time

Filter based on snapshot expiration time

name

Filter based on volume name

natural_backup_spu_serial

Filter based on volume natural backup SPU serial number

natural_owner_spu_serial

Filter based on volume natural owner SPU serial number

npod_uuid

Filter based on nPod unique identifier

or_filter

Allows concatenation of multiple filters via logical OR

parent_name

Filter based on volume parent name

parent_uuid

Filter based on volume parent uuid

size_bytes

Filter based on volume size

snapshots_only

Filter for only snapshots

sync_state

Filter based on volume synchronization status

uuid

Filter based on volume unique identifier

wwn

Filter based on volume WWN

class nebpyclient.api.volumes.CreateVolumeInput(name: str, size_bytes: int, npod_uuid: str, mirrored: bool = None, owner_spu_serial: str = None, backup_spu_serial: str = None, force: bool = None, download_contents_url: str = None, replace_lun: str = None, boot: bool = None)

An input object to create a new volume

backup_spu_serial

If the volume is mirrored, create a mirror on the specified SPU

boot

Indicates if the volume is a boot volume

download_contents_url

Contents of the given URL will be downloaded to the newly created volume

force

Forces the creation of the volume and ignores any warnings

mirrored

Indicates if the volume shall be created with high availability

name

The name for the volume

npod_uuid

The uuid of the nPod in which to create the volume

owner_spu_serial

Create the volume on the SPU indicated with this serial number

replace_lun

Given lun will be replaced after the download completes and the host reboots. Lun 0 of the owner SPU will be used if the UUID is 00000000-0000-0000-0000-000000000000

size_bytes

The size of the volume in bytes

class nebpyclient.api.volumes.DeleteVolumeInput(cascade: bool = None)

An input object to delete a volume

cascade

Forces the creation of the volume and ignores any warnings

class nebpyclient.api.volumes.UpdateVolumeInput(name: str = None)

An input object to update an existing volume

name

The new name for the volume

class nebpyclient.api.volumes.CreateCloneInput(name: str, volume_uuid: str)

An input object to create a volume clone

Allows the creation of a volume clone from a base volume or snapshot. Clones are read and writeable copies of another volume. Clones can be used to quickly instantiate copies of data and data for recovery purposes when applications require read/write access for copy operations.

clone_volume_name

Name for the volume clone

origin_volume_uuid

Unique identifier of the volume or snapshot to clone

class nebpyclient.api.volumes.Volume(response: dict)

A volume

accessible_by_host_uuids

List of host / server uuids that have access to the volume

boot

Indicates if the volume is a boot volume

creation_time

Date and time when the volume was created

current_owner_host_uuid

The uuid of the current host / server owner of a volume

expiration_time

Date and time when the snapshot is automatically deleted

name

The name of the volume

natural_backup_host_uuid

The uuid of the host / server that is the natural backup

natural_backup_spu_serial

The serial number of the SPU that is the natural backup

natural_owner_host_uuid

The uuid of the host / server that is the natural owner

natural_owner_spu_serial

The serial number of the SPU that is the natural owner

npod_uuid

The unique identifier of the nPod for this volume

read_only_snapshot

Indicates if the volume is a read-only snapshot

size_bytes

The size of the volume in bytes

snapshot_parent_uuid

Indicates the parent volume of a snapshot

sync_state

Indicates the health and sync state of the volume

uuid

The unique identifier of the volume

wwn

The world wide name of the volume

class nebpyclient.api.volumes.VolumeList(response: dict)

Paginated list of volumes

Contains a list of volume objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of volume in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

vSphere

class nebpyclient.api.vsphere.VsphereCredentialsList(response: dict)

Paginated vCenter Credential information objects

Contains a list of vCenter Credential objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

filtered_count

The number of items on the server matching the provided filter

items

List of vCenter credential information

more

Indicates if there are more pages on the server

total_count

The total number of items on the server

class nebpyclient.api.vsphere.VsphereCredentialsFilter(npod_uuid: nebpyclient.api.filters.UUIDFilter = None, and_filter=None, or_filter=None)

A filter object to filter vSphere credentials.

Allows filtering for specific vSphere credentials in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

npod_uuid

Filter for nPod unique identifier

or_filter

Allows concatenation of multiple filters via logical OR

class nebpyclient.api.vsphere.VsphereCredentials(response: dict)

A vCenter credentials object

Represents vCenter login information and status for nPod application integration. If defined, a nPod will use this information to collect diagnostics information from vCenter for troubleshooting and monitoring.

cluster_name

vCenter cluster name for the nPod

enable_vmhost_affinity

Automatic VM to Host affinity rule creation

error

Error message associated with the vCenter integration

last_connected

Date and time when the nPod last connected to vCenter

npod_uuid

Unique identifier of the nPod

polling_period_seconds

Specifies how often the nPod queries vCenter for information

state_updated

Date and time when the nPod last updated vCenter information

status

Current vCenter integration status

url

vCenter server API URL

username

vCenter login username

class nebpyclient.api.vsphere.UpsertVsphereCredentialsInput(username: str, password: str, url: str, insecure: bool = False, enable_vmhost_affinity: bool = False)

An input object to setup new vSphere credentials.

Allows specifying login credentials for a vCenter server instance. This information is used by a nPod to retrieve diagnostics data from the vSphere cluster running on the nPod.

enable_vmhost_affinity

Enable automatic VM to Host affinity rule creation

insecure

Trust Certificate

password

vCenter login password

url

vCenter server API URL

username

vCenter login username

WebHooks

class nebpyclient.api.webhooks.CreateWebHookInput(name: str, open_url: str = None, close_url: str = None, open_body: str = None, close_body: str = None, username: str = None, password: str = None, auth_token: str = None, headers: [<class 'nebpyclient.api.webhooks.HeaderInput'>] = None, time_zone: str = 'UTC', enabled: bool = None)

Input object for creating a new webhook

Webhooks allow integration with notification services and workflow engines. When configured, webhooks are triggered for opened and closed alerts with the specified webhook payload.

Credentials can be specified in url field or headers field. Special variables can be used to specify credentials without storing them in clear text. $USERNAME, $PASSWORD, $AUTH_TOKEN will be populated during the execution of the webhook.

To identify open and close action for the alert, use $ALERT_INCIDENT_ID variable. The full list of available variables that are populated during webhook execution are:

  • $ALERT_INCIDENT_ID - ID of the alert incident (open and close events)
  • $ALERT_EVENT_ID - ID of open/close event for the alert
  • $ALERT_CODE - Code of the alert
  • $ALERT_SUMMARY - Summary of the alert status
  • $ALERT_STATUS - status of the alert
  • $ALERT_DETAILS - Full details of the alert
  • $ALERT_TIME - Formatted time of when alert was created
  • $ALERT_URL - URL of the alert, e.g.: https://on.nebulon.com/alert/{uuid}
  • $ALERT_SEVERITY - Severity of the event (e.g. trivial, minor, etc.)
  • $RESOURCE_TYPE - Type of the resource that alert is for
  • $RESOURCE_ID - ID of the resource that alert is for
  • $RESOURCE_NAME - Name of the resource that alert is for
  • $HOST_NAME - Host name (if known) of the server in question
  • $HOST_SERIAL - Host serial (if known) of the server in question
  • $HOST_MANUF - Host manufacturer of the server in question
  • $SPU_SERIAL - SPU serial number related to the described alert
  • $NPOD_UUID - nPod UUID related to the described alert (if present)
  • $NPOD_NAME - nPod name related to the described alert (if present)
  • $ORG_UUID - Org UUID related to the alert
  • $ORG_NAME - Organization name related to the alert
  • $CONTACT_EMAIL - Email address of contact for the datacenter
auth_token

Auth token field that populates the $AUTH_TOKEN variable

close_body

JSON encoded string that is sent to the close_url URL

close_url

Webhook URL that is called for close alert events

enabled

Specifies if the webhook is enabled or disabled

headers

List of HTTP headers to send with the request

name

Human readable name for the webhook

open_body

JSON encoded string that is sent to the open_url URL

open_url

Webhook URL that is called for open alert events

password

Password field that populates the $PASSWORD variable

time_zone

Time zone that is used to format date and time strings

username

Username field that populates the $USERNAME variable

class nebpyclient.api.webhooks.Header(response: dict)

HTTP Header object

name

HTTP header name

value

HTTP header value

class nebpyclient.api.webhooks.HeaderInput(name: str, value: str)

An input object for an HTTP header

Allows specifying custom HTTP headers for the webhook. Some services use custom HTTP headers for authentication or for specifying custom information.

name

HTTP header name

value

HTTP header value

class nebpyclient.api.webhooks.TestWebHookInput(uuid: str = None, create: nebpyclient.api.webhooks.CreateWebHookInput = None, update: nebpyclient.api.webhooks.UpdateWebHookInput = None)

Input object for testing webhooks

create

A definition for a new webhook to be tested

update

A definition for the updates for a webhook to be tested

uuid

The unique identifier of the webhook to be tested

class nebpyclient.api.webhooks.TestWebHookResponse(response: dict)

Response for when testing a webhook

close_error_message

Error message when testing the webhook with close_url

failed

Indicates if the test webhook call failed

open_error_message

Error message when testing the webhook with open_url

class nebpyclient.api.webhooks.UpdateWebHookInput(name: str = None, open_url: str = None, close_url: str = None, open_body: str = None, close_body: str = None, username: str = None, password: str = None, auth_token: str = None, headers: [<class 'nebpyclient.api.webhooks.HeaderInput'>] = None, time_zone: str = None, enabled: bool = None)

Input object for updating a webhook

Webhooks allow integration with notification services and workflow engines. When configured, webhooks are triggered for opened and closed alerts with the specified webhook payload.

Credentials can be specified in url field or headers field. Special variables can be used to specify credentials without storing them in clear text. $USERNAME, $PASSWORD, $AUTH_TOKEN will be populated during the execution of the webhook.

To identify open and close action for the alert, use $ALERT_INCIDENT_ID variable. The full list of available variables that are populated during webhook execution are:

  • $ALERT_INCIDENT_ID - ID of the alert incident (open and close events)
  • $ALERT_EVENT_ID - ID of open/close event for the alert
  • $ALERT_CODE - Code of the alert
  • $ALERT_SUMMARY - Summary of the alert status
  • $ALERT_STATUS - status of the alert
  • $ALERT_DETAILS - Full details of the alert
  • $ALERT_TIME - Formatted time of when alert was created
  • $ALERT_URL - URL of the alert, e.g.: https://on.nebulon.com/alert/{uuid}
  • $ALERT_SEVERITY - Severity of the event (e.g. trivial, minor, etc.)
  • $RESOURCE_TYPE - Type of the resource that alert is for
  • $RESOURCE_ID - ID of the resource that alert is for
  • $RESOURCE_NAME - Name of the resource that alert is for
  • $HOST_NAME - Host name (if known) of the server in question
  • $HOST_SERIAL - Host serial (if known) of the server in question
  • $HOST_MANUF - Host manufacturer of the server in question
  • $SPU_SERIAL - SPU serial number related to the described alert
  • $NPOD_UUID - nPod UUID related to the described alert (if present)
  • $NPOD_NAME - nPod name related to the described alert (if present)
  • $ORG_UUID - Org UUID related to the alert
  • $ORG_NAME - Organization name related to the alert
  • $CONTACT_EMAIL - Email address of contact for the datacenter
auth_token

Auth token field that populates the $AUTH_TOKEN variable

close_body

JSON encoded string that is sent to the close_url URL

close_url

Webhook URL that is called for close alert events

enabled

Specifies if the webhook is enabled or disabled

headers

List of HTTP headers to send with the request

name

Human readable name for the webhook

open_body

JSON encoded string that is sent to the open_url URL

open_url

Webhook URL that is called for open alert events

password

Password field that populates the $PASSWORD variable

time_zone

Time zone that is used to format date and time strings

username

Username field that populates the $USERNAME variable

class nebpyclient.api.webhooks.WebHook(response: dict)

Webhook instance object

Webhooks allow integration with notification services and workflow engines. When configured, webhooks are triggered for opened and closed alerts with the specified webhook payload.

close_body

The JSON-encoded body that is sent to the close_url URL

close_url

The URL that is called for alert close events

enabled

Indicates if the webhook is enabled or disabled

errors

Indicates if there were errors with the webhook execution

headers

HTTP headers that are used during webhook execution

last_close_error

The last error message during execution of a webhook during alert close

last_open_error

The last error message during execution of a webhook during alert open

name

The human readable name for the webhook integration

open_body

The JSON-encoded body that is sent to the open_url URL

open_url

The URL that is called for alert open events

time_zone

The time zone used for formatting date and time

uuid

The unique identifier of the webhook

class nebpyclient.api.webhooks.WebHookFilter(uuid: nebpyclient.api.filters.UUIDFilter = None, name: nebpyclient.api.filters.StringFilter = None, url: nebpyclient.api.filters.StringFilter = None, enabled: bool = None, and_filter=None, or_filter=None)

A filter object to filter webhooks.

Allows filtering for specific webhooks in nebulon ON. The filter allows only one property to be specified. If filtering on multiple properties is needed, use the and_filter and or_filter options to concatenate multiple filters.

and_filter

Allows concatenation of multiple filters via logical AND

enabled

Filter based on enablement status

name

Filter based on webhook name

or_filter

Allows concatenation of multiple filters via logical OR

url

Filter based on webhook url

uuid

Filter based on webhook unique identifier

class nebpyclient.api.webhooks.WebHookList(response: dict)

Paginated list of webhook objects

Contains a list of webhook objects and information for pagination. By default a single page includes a maximum of 100 items unless specified otherwise in the paginated query.

Consumers should always check for the property more as per default the server does not return the full list of alerts but only one page.

filtered_count

The number of items on the server matching the provided filter

items

List of webhooks in the pagination list

more

Indicates if there are more items on the server

total_count

The total number of items on the server

class nebpyclient.api.webhooks.WebHookSort(name: nebpyclient.api.sorting.SortDirection = None)

A sort object for webhooks

Allows sorting webhooks on common properties. The sort object allows only one property to be specified.

name

Sort direction for the name property

Lom

class nebpyclient.api.lom.UpsertLomCredentialsInput(host_uuid: str, username: str, password: str, url: str, insecure: bool = False)

An input to setup new Lights Out Management (LOM) credentials.

Allows configuration of the Lights Out Management information for a host. This is used for controlling server power status and server inventory. Sensitive information is stored in encrypted formats on Services Processing Units in customers data centers only.

host_uuid

The unique identifier of the host

insecure

Allow insecure connections

password

The password to use for authentication with the LOM

url

The URL of the host’s LOM network interface

username

The username to use for authentication with the LOM

class nebpyclient.api.lom.DeleteLomCredentialsInput(host_uuid: str)

An input object to delete Lights Out Management (LOM) credentials

host_uuid

The unique identifier of the host

Indices and tables